Skip to content

v0.2.0

Choose a tag to compare

@macabeus macabeus released this 22 Jul 16:44
· 401 commits to main since this release
942917f

First tagged release of the published packages — @asmlift/core@0.2.0 and @asmlift/cli@0.2.0 are live on npm.

npx asmlift <file.s|file.o> --target <agbcc|ido7.1|gcc2.7.2kmc|gcc2.7.2|mwcc_242_81>
# or
npm i @asmlift/cli   # pulls @asmlift/core ^0.2.0

What's new since 0.1.0

N64 / MIPS support

  • Read Splat-disassembled MIPS .s — decompile functions from N64 projects that split assembly with Splat (#1)
  • Recover MIPS global-variable access — %hi/%lo relocation pairs are lifted back to named globals (gaddr) (#2), including recovery straight from an object file's objdump relocations when the input is .o (#4)
  • New gcc2.7.2 target (mainline GCC 2.7.2, -O1) alongside the existing gcc2.7.2kmc — surfaced as a CLI --target, and added to the benchmark with 32 Mario Party 3 functions (#5, #6)

Toolchain / API

  • decomp.me-standard target ids — target keys now match the compiler names decomp.me uses (agbcc, ido7.1, gcc2.7.2kmc, gcc2.7.2, mwcc_242_81) (#3)

Pull requests

  • #1 read Splat-disassembled MIPS .s (N64 projects)
  • #2 recover MIPS global-variable access (%hi/%lo → gaddr)
  • #3 rename target ids to decomp.me-standard compiler names
  • #4 recover MIPS globals from objdump relocations (reloc→gaddr bridge)
  • #5 add the gcc2.7.2 toolchain + 32 Mario Party 3 benchmark rows
  • #6 register gcc2.7.2 as a --target
  • #7 release bump to 0.2.0

Full changelog: https://github.com/macabeus/asmlift/commits/v0.2.0