Releases: tabemann/zeptoforth
Patch-level release 1.5.4.3
This patch-level release fixes a bug in the USB CDC driver which was causing delayed connections under both Linux and Windows (sorry but zeptocom.js under Chrome on Windows still appears to be borked) along with adding the word profile::clear-profile
to clear profiler data.
Patch-level release 1.5.4.2
This patch-level release adds an optional profiler and fixes a bug in SPI on the RP2040 where spi>buffer
and buffer>spi
would transfer DMA units rather than bytes, so if 2 bytes were specified and the data size was set to 16 bits, 32 bits would actually be transferred.
Patch-level release 1.5.4.1
This patch-level release adds the ability to chain DMA transfers on the RP2040, modifies buffer transfers with SPI on the RP2040 to use DMA, fixes initializer
to work no matter what module it is invoked inside, and fixes some minor documentation issues.
Patch-level release 1.5.4
This patch-level release adds functionality to the NTP client to synchronize the RP2040's realtime clock with the reported time.
Patch-level release 1.5.3
This patch-level release adds support for dynamically-scoped, thread-local variables and fixes an introduced bug in PIO programs which was causing the wrap top address, if not specified the user, to be off by one.
Patch-level release 1.5.2
This patch-level release updates the PIO API to support defining PIO programs with :pio
and ;pio
along with mark words and wrap words and words for allocating space in PIO program memories and conveniently loading PIO programs, adds support for the RP2040 watchdog, adds rounding words for S15.16 numerics, and fixes the value of pi
for S31.32 numerics.
Patch-level release 1.5.1
This patch-level release adds optional support for S15.16 single-cell fixed-point numerics, fixes a bug that was causing abnormal behavior (frequently in the form of crashing) when the user attempted to use I2C after starting the second core of the RP2040, fixes an issue with zeptoIP connection closure, and adds support for printing fixed-point numbers with a base up to 36.
Bug-fix release 1.5.0.1
This bug-fix release fixes a regression where the console could not be used (i.e. it would cause a hard fault) from the first task started on core 1 of the RP2040 unless console I/O was specifically redirected first, due to a lack of initialization of the console I/O hooks in the initialization code for core 1.
Minor release 1.5.0
This release adds implicit compilation, where temporary anonymous words in RAM are automatically compiled whenever one executes if
, begin
, do
, ?do
, or case
while in interpretation mode and, after a matching then
, end
(a new word matching begin
that closes its scope without any branch), until
, repeat
, again
, loop
, +loop
, endcase
, or endcasestr
is compiled, immediately executes the anonymous word in question and then promptly forgets it. (Note that anything alloted in or compiled to the RAM dictionary in question is invalidated after this, so it is not safe to, say, use [:
... ;]
to create a quotation and then pass it to task::spawn
from within this temporary anonymous word.) This release also makes fixes to zeptoed
and local/loop variables (which previous would break if there were any more than 127 at a time in a given scope), and makes a minor improvement to fat32-tools::list-dir
, specifically including file sizes in the readout.
Patch-level release 1.4.1
This patch-level release fixes issues with sqrt
(which previously could get stuck in an infinite loop with certain arguments) and with sin
and cos
(which would overflow with large arguments, causing erroneous returned values), optimizes c!
, h!
, !
, 2!
, c+!
, h+
, and +!
, adds turtle graphics for use with ST7735S displays, adds a raytracing demo for use on such displays, and makes some additions and fixes to the documentation.