Skip to content

Releases: Decompollaborate/spimdisasm

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.

1.29.0

09 Sep 23:35
e1f0948
Compare
Choose a tag to compare

[1.29.0] - 2024-09-09

Added

  • New ContextSymbol.functionOwnerForMigration attribute.
    • Allows to override to which function a given rodata symbol should be
      migrated to.
    • Specially useful for unreferenced symbols.
    • WARNING: It is undefined behavior if during rodata migration the listed
      function does not exists on the given text section. For example this symbol
      may get lost in limbo.

Fixed

  • Fix data references to symbols with adends (that have user declared sizes)
    being symbolized instead of just using an addend to the symbol.
    • This bug seems like was only happening if the referenced symbol was in the
      same section as the one who was referencing it.

1.28.1

19 Aug 14:05
49b8cce
Compare
Choose a tag to compare

[1.28.1] - 2024-08-19

Changed

  • Avoid emitting "global" visibility on labels.
  • Avoid emitting a rom offset comment on bss symbols.
  • Change on gpRelHack behavior:
    • Emit .externs with dummy size at the top of the function for all the
      %gp_rel-accessed symbols within the function.

Fixed

  • Fix function symbols and labels not acknowledging their parent file.
    • Used mainly for debugging purposes.