Skip to content

Releases: llvm-mos/llvm-mos-sdk

SDK v20.2.1

13 Nov 17:59
Compare
Choose a tag to compare

Bug fixes

  • llvm-mos/llvm-mos#479 - Fixed linker crash when constant subtractions less than -128 are folded into zero page indexed addressing
    • 16-bit indexed addressing is used instead
    • This release also allows folding subtractions <= -128 into zero page indexed addressing, which the linker would previously disallow
  • #378 - Fix odd behavior of atari minimal getchar by buffering a full line
    • atari's getchar requires a line to be read at a time without any intervening writes to the screen to operate correctly, but typical C practice does not expect interleaving putchar and getchar to interrupt the action of getchar.

SDK v20.2.0

30 Sep 17:35
80d3c4b
Compare
Choose a tag to compare

New targets

Optimizations

Bug fixes

SDK v20.1.0

19 Sep 05:09
5138223
Compare
Choose a tag to compare

New features

  • #365 - commodore - Add LOAD flag enum, including specific values for the cx16 - @mlund
  • #367 - cx16 - Add missing emulator registers - @mlund
  • #372 - cx16 - Add JSRFAR macro - @mlund
  • #368 - cx16 - Add ROM bank label enum - @mlund
  • #369 - cx16 - Split wrapper routines into dedicated sections for linker garbage collection - @mlund
  • #370 - cx16 - Add VERA PSG register data structure (__vera_psg) - @mlund

Optimizations

  • #373 - commodore- Implement KERNAL LOAD function using inline assembly - @mlund

Bug fixes

  • #366 - cx16 - Correct leaf attribute placement - @mlund

SDK v20.0.0

04 Sep 15:42
2e15e78
Compare
Choose a tag to compare

Breaking changes

  • #357 - cx16 - Improve interface of cx16_k_joystick_get - @mlund
  • freopen(NULL, ...) now fails unconditionally - @pfusik
    • This is simpler than attempting to reopen the file, and the prior implementation was buggy. Failing is allowed by the C standard, and it's "good enough for Windows CRT".

Bug fixes

  • #357 - cx16 - Fix joystick bitmasking bugs in cx16.h - @mlund
  • #354 - Fix double free in freopen on OOM - @pfusik
  • Fix memory errors on freopen failure - @pfusik
  • #362 - Prevent fopen(filename, "a") from truncating file like fopen(filename, "w") - @pfusik
  • #364 - Fix use after free in _stdio_closeall (file closure at program end) - @pfusik

Optimizations

  • Various code size and performance optimizations for freopen - @pfusik

SDK v19.1.1

19 Aug 21:37
Compare
Choose a tag to compare

Bug fixes

  • #351 - Fix memory leak on internal error in fopen - @pfusik
  • #352 - Fix null dereference on internal error in tmpfile - @pfusik

Examples

  • #350 - Added Commander X16 C++ plasma example - @mlund

SDK v19.1.0

31 Jul 05:26
ae3a96f
Compare
Choose a tag to compare

New features

  • #347 - [mega65] - Add DMA hardware registers and examples - @mlund

Optimizations

SDK v19.0.0

11 Jul 04:40
Compare
Choose a tag to compare

Breaking changes

  • cx16 - 2850b2a - Exit by return to BASIC on Commander X16 (rather than the infinite loop of other Commodore targets)
    • This target's BASIC functions somewhat more like a shell than the other Commodore family targets, and along those lines, it manages to keep most of the zero page available for user programs. Accordingly, C can be seen to operate within, rather than replace, the BASIC environment.
  • neo6502 - #345 - Output .neo file format instead of raw binary - @bcampbell

Bug fixes

  • cx16 - 8b32a54 - Add DEVNUM to cx16.inc to fix file routine linking
  • cx16 - 255502c - Don't rts from file I/O init/fini snippets to prevent early return

SDK v18.0.0

25 Jun 16:21
d4f9574
Compare
Choose a tag to compare

Breaking changes

  • #342 - commodore family targets now infinitely loop on exit
    • This fixes a day-one SDK bug with the commodore targets. They freely clobber BASIC ZP, but they then return to BASIC. This is arguably a bug fix, but I'm marking it as a breaking change due to how significantly the behavior changes.
    • See #341.

New features

  • From upstream, C23's #embed is now supported. This allows turning arbitrary binary files into comma-separated lists of numbers in the preprocessor, for direct inclusion in character arrays.

SDK v17.1.2

20 Jun 16:46
d107f88
Compare
Choose a tag to compare

Bug fixes

Optimizations

SDK v17.1.1

11 Jun 20:16
Compare
Choose a tag to compare

Bug fixes

  • 63e13de - Fix minimal stdio ungetc (and thus scanf)
    • The ungetc buffer was accidentally given type bool, so the characters that scanf would ungetc would be forced to 1.