Skip to content

version 11.4

Choose a tag to compare

@irmen irmen released this 29 Jun 10:16
· 473 commits to master since this release
1b420f7

Breaking changes:

  • '\n' (newline character) is now encoded as char code 13 in various encodings such as ISO (used to be 10)
    This means that when printed, such newlines will now properly go to the next line in these encodings too (ISO variants, KATAKANA). code that reads text files and checks for line endings using '\n' may have to be changed to explicitly test for the byte value that represents the new line character in the file. There is a new strings.find_eol() routine to make this a bit easier

New features:

  • added a basic Foenix256 custom compiler target
  • added boolean typed versions of the cx16.r0-r15 virtual registers: cx16.r0bL, cx16.r0bH, etc.
  • added on .. goto and on .. call statements to create an efficient jump table
  • floats can now be cast to integers (truncating)
  • sizeof supports more argument forms such as sizeof(float)
  • added a -timings command line flag to print some more detailed internal compilation step times
  • added the missing kernal routines for the c128 target such as c128.PRIMM()
  • added strings.find_eol()
  • added cx16.joysticks_detect() and cx16.joysticks_getall() convenience routines for handling joystick in any port
  • added doublebuffering routines to monogfx library, in both lores and hires mode, to allow for flicker free animation. See the upated cobra-mk3 example.
  • the fileselector now supports joystick control to scroll and select a file
  • add sys.get_as_returnaddress() for low-level stack fiddling purposes

Bugfixes:

  • fixed build error (of the compiler itself) on case-insensitive filesystems such as Mac OS
  • fix codegen for word*128 expressions
  • fix signed byte comparisons in case of overflowing values
  • fix wrong address calculation for &wordarray[i] where i is a variable
  • fix missing cmp #0 when asmsub call is part of a boolean expression
  • fixed forloop codegen over non-split word arrays of length >= 64 elements
  • fixed monogfx INVERT draw mode
  • fix compiler crash on for x in wordvar
  • fix splitting of array decl and initializer for non numeric types
  • various fixes in the IR and virtual target
  • fixed wrong order of 64tass command line arguments

Other changes:

  • various optimizations
  • various documentation improvements