Releases: Decompollaborate/spimdisasm
Releases · Decompollaborate/spimdisasm
1.32.2
1.32.1
[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
jal
s to symbols that aren't functions.
1.32.0
[1.32.0] - 2024-12-28
Added
- Add
referencedVrams
member toSymbolBase
.- Contains every vram that is referenced by the current symbol.
Fixed
- Fix jumptable labels sometimes missing their rom suffix, again.
1.31.3
[1.31.3] - 2024-12-21
Fixed
- Fix a crash produced by not handling new
AccessType
s introduced byrabbitizer
. rabbitizer
1.12.5 or above is required.
1.31.2
[1.31.2] - 2024-12-02
Fixed
- Fix jumptable labels sometimes missing their rom suffix.
1.31.1
[1.31.1] - 2024-12-01
Fixed
- Fix some jumptable labels missing their rom address on overlays.
1.31.0
[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 toMWCCPS2
. - 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.
- Nothing really changed. Just the CI tools I was using is refusing to use any
1.30.2
[1.30.2] - 2024-09-19
Fixed
- Fix not generating branch labels under some circumstances.
1.30.1
[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.
- May be desirable to be used with IDEs that support collapsing code by
- 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.
- May be desirable to be used with IDEs that support collapsing code by
Changed
- Assembly now gets indentated by default to 4 spaces (or 2 spaces for labels).
- Use
GlobalConfig.ASM_INDENTATION
andGlobalConfig.ASM_INDENTATION_LABELS
to disable this behavior.
- Use
Fixed
- Prevent generating labels for ignored symbols that are referenced by function
calls (ie in ajal
).
1.30.0
[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.
- This could be an abrupt change for projects that were relying on the old
- This allows for the algorithm to migrate unreferenced symbols that are
Deprecated
- Depreacte
SymbolBase.isRdata
.
Fixed
- Fix pointer tracking: fix garbage state of registers after function jumping
outside of the current function.