Skip to content

v9.7

Compare
Choose a tag to compare
@irmen irmen released this 10 Dec 16:14
· 433 commits to master since this release

A big release this time

incompatible changes

  • removed diskio.set_drive() , just set diskio.drivenumber directly
  • sys.set_irq() and sys.set_rasterirq() no longer have a useKernal parameter! The irq handler routine must return a boolean instead in the A register, that determines if the system IRQ handler should run afterwards or not.
  • palette module: changed in the available preset routines.

new language features

  • underscores are now allowed in numbers to group digits for improved readability of large numbers
  • multiple variables can be declared on one line ubyte x,y,z
  • multiple assignments can be done in one go x=y=z=calculate()
  • new module directive %encoding to set the text encoding for the whole file
  • allow all character encodings for all compilation targets
  • added continue statement to continue with the next loop iteration
  • allow Unicode letters in identifiers: things like knäckebröd and π are now valid identifiers. Added floats.π constant.
  • allow constant expression intermediate values to be 32 bits integers to avoid overflow errors: uword large = 320*240/8/8 is now okay.

specifics for the Commander X16

  • new "master" irq handler see cx16.enable_irq_handlers() and associated subroutines, and "Commander X16 specific IRQ handling" in the manual
  • palette module got more accurate color space conversion
  • improved the emudbg library
  • added bmx library to read and write "BMX" bitmap images. See "showbmx" example
  • added some routines to the sprites module: move, movex and movey to move the sprite by on offset
  • added more registers to verafx module

other things in general

  • added various subroutines to the strings module: hash, isdigit, isupper, islower, isletter
  • added pokef() and peekf() for floating point numbers
  • added floats.str_f() to convert a float number to a string (without printing it)
  • many optimizations and bug fixes.

Full Changelog: v9.6...v9.7