Skip to content

1.2.0

Latest
Compare
Choose a tag to compare
@kleinesfilmroellchen kleinesfilmroellchen released this 02 Oct 20:40
· 33 commits to main since this release

Finally, another release of spcasm! Version 1.2.0 is a small update from 1.1.1; different from semver rules there's one slight compatibility problem if you are using the elf output mode (see below).

New features in this release:

  • The startpos directive now allows you to specify the entrypoint of the binary (20260d8). This is used and required in elf output, so if you are using this mode, it will fail to compile existing code. This can simply be fixed by inserting this directive wherever your code starts execution (or choose any dummy location you want).
  • sapemu has made more progress, now being capable of about 88% instructions. The separate spcfile library was created for general .spc file parsing and (in the future) writing, and it will be published on crates.io shortly.
  • In creating sapemu, I have researched many previously unknown run-time details of the SPC700 architecture. Some of these (especially the ones that are not documented elsewhere) have been integrated into the official documentation.

Improvements:

  • spcasm is now around 50% faster on most heavy projects (06ce341, f319b10, da5767b), owing mostly to some optimizations in the label resolver.
  • Many dependencies have been updated. The WAV library has been changed, so some of the outputs relating to broken WAV files have changed.
  • The release artifacts are now created by a dedicated CI pipeline, meaning you don't have to trust me anymore to compile non-malicious binaries. The just recipes have been updated, and it should be fairly easy to build a release bundle for your system (e.g. if you want to package this using your own build).

Important: The MacOS binaries are not signed, so your system might refuse to run them. This can be solved by disabling the quarantine for the binaries with xattr -dr com.apple.quarantine spcasm (and the same thing for brr). Any help with making signed binaries possible in the next release is appreciated.