Releases: tabemann/zeptoforth
Patch-level release 1.9.1
This patch-level release renames the int-io
module to serial
(but retains the now-deprecated int-io
name for the time being), includes a key fix to the CYW43439 driver for the new Raspberry Pi Pico 2 W, and fixes to the parsing of a number of different kinds of numeric literal. It also removes the source code for unsupported Nordic Semiconductor microcontrollers. Note that due to yet-unresolved issues with the USB CDC driver on the RP2350 is it is highly recommended one use the serial console when uploading the CYW43439 firmware, CYW43439 driver, and zeptoIP to the Raspberry Pi Pico 2 W; this can be accessed within full_usb
builds by calling serial::serial-console
.
Minor release 1.9.0
This release:
- adds hardware single-precision floating-point numerics support (except on the RP2040, due to lack of hardware floating point, and STM32F411, to save room of what little flash it has)
- reworks the multitasker to be based on deadlines
- optionally supports complex numbers on top of hardware single-precision floating-point numerics
- adds a current directory concept
- optionally supports FAT32 filesystems in PSRAM on RP2350 boards with PSRAM such as the Pimoroni Pico Plus 2
- supports conveniently compiling string constants to the dictionary and storing them in buffers and reading them therefrom without the limitations of traditional counted strings or null-delimited strings
- optimizes
of
/ofstr
...endof
to collect all end branches to the end ofcase
...endcase
/endcasestr
blocks (except on the RP2040 and STM32L476, due to the limitations of these platforms) - fixes a bug where double-cell local variables would not be properly updated with constants due to an issue with the code generator
- fixes a bug introduced in the last beta release 1.9.0-beta.3 where due to an issue with the multitasker zeptoforth would sometimes crash on boot and would not properly update the deadlines of tasks.
Beta release 1.9.0-beta.3
This beta release adds string,
, string@
, and string!
for conveniently compiling string constants and reading and writing strings without the constraints of traditional counted strings, updates endof
, endcase
, and endcasestr
on the RP2350, STM32F407, STM32F411, and STM32F746 for all branches at the ends of of
... endof
blocks to point to the end of the case
... endcase
/endcasestr
block (the RP2040 and STM32L476 are not so updated due to the platforms' limitations), adds task-deadline!
and task-deadline@
in the task
module to allow finer control over the deadline scheduler, and tunes zeptoIP to take advantage of the deadline scheduler.
Beta release 1.9.0-beta.2
This beta release updates the multitasker to use the new "deadline" scheduler and fixes a bug which would cause spawning tasks to crash.
Beta release 1.9.0-beta.1
This beta release adds optional support for FAT32 filesystems in PSRAM on RP2350 boards with PSRAM such as the Pimoroni Pico Plus 2 along with a current directory concept that was previously sorely missing from zeptoforth and an optional utility to copy files from one filesystem to another.
Beta release 1.9.0-beta.0
This beta release adds optional support for complex numbers on top of single-precision hardware floating point, including support for string conversions and complex literals.
Alpha release 1.9.0-alpha.1
This alpha release improves floating-point number parsing to avoid precision issues and fixes an issue with float32::vln
where it would hang if passed 2e0
.
Alpha release 1.9.0-alpha.0
This alpha release introduces hardware single-precision floating-point support on the RP2350, STM32F407, STM32L476, and STM32F746. It is mostly working in its current state, even though the string conversion routines could possibly be improved upon. If anyone has any input on how to practically improve them without resorting to things like bignums, it would be greatly appreciated. This release also fixes a bug where literals immediately before assigning their value to double-cell local variables would not be compiled properly.
Bug-fix release 1.8.1.2
This bug-fix release fixes an issue where certain specially-defined words such as words defined with defer
would cause issues with the flash dictionary index on the RP2350, resulting in words sometimes not being usable despite being listed by words
or words-in
.
Bug-fix release 1.8.1.1
This bug-fix release adds a maximum iteration counter to ln
and lnp1
to avoid a bug where with certain inputs they would get caught in an infinite loop.