Skip to content

version 10.4.2

Compare
Choose a tag to compare
@irmen irmen released this 13 Oct 19:08
· 301 commits to master since this release

This release fixes some bugs and improves some things, and adds some new library modules and exampoles, but no major language changes.

breaking changes

  • removed the broken verafx.mult routine (verafx doesn't support unsigned multiplications. The muls routine is still there, that one works fine)
  • added verafx.mult16 for just the 16 bit unsigned results that worked fine.
  • string assignments got somewhat stricter to avoid problematic cases. If your code doesn't compile anymore, you should use string.copy explicitly now to set a new value to a string.

other changes

  • fixed assembly optimization bug that removed a RTS sometimes. This broke floats.ceil and some other routines.
  • fixed "raw" output to also properly initialize variables.
  • fixed C64 floating point sign problem
  • added experimental compression library, it provides RLE compression and decompression routines. (the RLE algorithm supported is Byterun1/Packbits, which is used in Amiga IFF ILBM images among others)
  • cx16: added audio module with subroutines to simplify calling the Audio routines in the kernal. The 'audioroutines' example has been updated to use this.
  • cx16: kernal bank 0 is once again activated at startup to speed up kernal calls
  • cx16: added callfar2 builtin function that allows you to set A,X,Y and Carry parameters instead of only AY.
  • cx16: added color fade routines to the palette module
  • cx16: added a port of the c64's "balloonflight" example. Added 'starszoom' example.
  • added sys.sizeof_byte etc etc constants that are the memory sizes of the given datatypes
  • many code optimizations
  • several error message improvements.
  • documentation improvements.
  • added 'fractal-tree' example.

Thanks to the people in the Prog8 channel on the X16 discord for their contributions.