This is a patch release that brings a bunch of optimizations and small tweaks.
Breaking Changes:
sprite.hide()
behavior change: no longer moves sprite off-screen but changes the priority to disabled.- (subtle) the compile time const calculations have been tweaked a bit to avoid precision loss in some cases. It could mean that your code suddenly needs an extra typecast here and there (compiler will complain)
Other changes:
- compiler option
-nostrictbool
has been removed. All code using bools now has to adhere to the stricter type checks (that have been the default for quite some time already) - subroutines do no longer have to end with a newline, so you can now write certain oneliners if you really want
graphics
module on the X16 now uses the new rom R48 routines to draw circles and ovals- added new example program
cx16/life.p8
(conway's game of life) - X16: added
cx16.mouse_present()
routine to check if a mouse is connected or not - X16: added
emudbg.cpu_cycles()
andemudbg.reset_cpu_cycles()
which allow for some detailed performance counters when running on the X16 emulator - X16: added new rom R48 extapi definition
cx16.EXTAPI_kbd_leds
to control the keyboard leds - X16: added new
gfx_lores
module that contains heavily optimized graphics routines for 320*240 256color (8bpp) screen mode. (much faster than gfx2) - X16 and C64: added
floats.time()
routine to get the value of the jiffy clock as a single float value. - all the disc graphics routines (that draw filled circles) have been optimized to no longer draw some parts multiple times.
- it's now actually possible to multi-assign multiple return status flags from asmsubs.
- the compiler now actually uses
@zp
,@requirezp
etc tags you put on subroutine parameters. Previously, those were silently ignored. - several code gen improvements
- several bugfixes.
(donation: If you'd like to buy me a hot coffee or spicy pizza, to keep this project going, you can do so at https://ko-fi.com/irmen Thanks a lot!.)