Skip to content

Releases: llvm-mos/llvm-mos-sdk

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.

SDK v17.1.0

03 Jun 14:44
Compare
Choose a tag to compare

New features

  • The SDK completes the first pass of porting cc65's stdio capabilities. It's not very well tested, so expect the unexpected. (I've given the commodore and atari ports some smoke testing, but not the rp6502. That is likely to work as-is though, since the cc65 POSIX stuff was already added to llvm-mos previously.)
    • Notable exception: atari's lseek has not yet been ported, since it only works on Sparta DOS X. See #333
  • ELF POSIX utility script to generate atari800 label files (atari800lbl)

Bug fixes

  • #332 - Exit to Atari DOS via JMP (DOSVEC). The DUP clobber detection isn't robust in Atari DOS, so exiting via RTS may cause a crash. We could have fixed this by re-ordering the XEX file chunks, but reloading the DUP effects a JMP (DOSVEC) anyway, so may as well. - @cwedgwood
  • Add missing devnum symbol to non-c64 commodore targets' POSIX file I/O layers. This fixes stdio on these targets.

SDK v17.0.0

22 May 06:05
Compare
Choose a tag to compare

Breaking changes

  • __from_ascii now returns an int, and its write callback does as well. This allows it to forward an EOF error code from its internal write function and exit early.
  • fpos_t is now 32-bit for compatibility with cc65. If you need files larger than 2GiB, you probably don't want a 6502.

New features

  • stdio is now feature-complete (parity w/ cc65) for commodore family targets
    • Text mode now converts at runtime from the execution character set (always ASCII) to the platform character set (PETSCII on non-cx16 systems).

Other changes

  • The minimal stdio's FILE pointers are now non-null and all different.
  • The simple ungetc was moved into the minimal stdio and the minimal getchar altered accordingly.

SDK v16.0.0

14 May 16:13
Compare
Choose a tag to compare

Breaking changes

  • __from_ascii and __to_ascii now take a void pointer to a context object and pass it though to the read/write callback. This is a trick from dl_iterate_phdr to allow passing general lambdas that refer to an ambient context.

New features

  • Port fwrite from PDCLib; port cc65 file writing backend (write) for commodore
    • Known issue: Doesn't yet support ASCII->PETSCII translation in text mode; outputs as if opened in binary mode

Bug fixes

  • #331 - [Mega65] Fix C++ static assert in ethernet controller - @mlund

SDK v15.3.0

25 Apr 22:05
Compare
Choose a tag to compare

New library features

  • All of the below only support the c64. Picked this arbitrarily; other backends will come later.
  • fopen
    • There's not actually much you can do with open files, and if you try to use most stdio functions and fopen in the same project, the link will fail.
  • fclose (with automatic fclose on exit)
  • rename
  • tmpfile
  • tmpnam

SDK v15.2.0

09 Apr 16:13
b61b298
Compare
Choose a tag to compare

New features

  • #154 - Add MEGA65 headers for hardware registers - @mlund

Bug fixes

SDK v15.1.0

04 Apr 16:01
becc1c3
Compare
Choose a tag to compare

New targets

  • #329 - Initial Atari Lynx support (.bll.o) - mos-lynx-bll-clang - @asiekierka