Releases: Decompollaborate/spimdisasm
Releases · Decompollaborate/spimdisasm
1.1.2: More symbol finding cleanups
- General cleanups and fixes related to symbol finding.
- New
COMPILER
option inGlobalConfig
, used to enable some compiler specific tweaks
1.1.1: Symbol finding fixes
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
LUI
s on delay slots - Track moving registers by using
MOVE
,OR
andADDU
- Invalidate some registers after function calls
- Check negative branches
- Fix jump table detector for SN64
1.1.0: Overlay support (hopefully)
- 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
- Each new category and overlay segment must be registered in
ElementBase#vram
is now just anint
as opposed to oldint|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 toElementBase
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
- 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
- Allow setting a .ent and the function name as a label
- Float register
$31
fix forNAMED_REGISTERS=False
- Fix CI builds (2)
- Only apply the SN64 DIV fix for non handwritten functions
- Finer control over pseudo instructions
1.0.4
Fix the CI wheel
1.0.3
Add CI which builds a wheel and publishes it to PyPI
1.0.2
- Fix missing
f
on float registers whenGlobalConfig.NAMED_REGISTERS
was set toFalse
- Allow changing the line ends to anything via
GlobalConfig.LINE_ENDS
1.0.1
Changes:
- Improve RAM usage by removing an almost unused dictionary from the Instruction classes
1.0.0
Merge pull request #13 from Decompollaborate/develop 1.0.0