-
Bug-fix release 1.12.0.3
2 days ago • 0 commentsThis bug-fix release fixes incorrect interrupt register addresses with regard to PIO on the RP2350.
-
Bug-fix release 1.12.0.2
3 days ago • 0 commentsThis bug-fix release:
- fixes an issue with maps where oftentimes certain members would not be stored properly
- optimizes maps to avoid searching around the entire map when inserting new members when possible
- fixes a build issue where the new
rp2350_16mib
platform was being built with therp2350
kernel and was not having non-kernel UF2 files generated
-
Bug-fix release 1.12.0.1
5 days ago • 0 commentsThis bug-fix release turns off debug mode for zeptoIP by default, which had been set to on by mistake. No binaries have changed, even though their filenames have changed to reflect the version number change, so if you have already downloaded zeptoforth 1.12.0 you do not need to download this release unless you plan on using zeptoIP.
-
Minor release 1.12.0
6 days ago • 0 commentsThis release:
- reorganizes zeptoIP to separate out IPv4-specific interfaces from common interfaces in anticipation of coming IPv6 support (note that this contains many breaking changes, so be aware that this likely will affect your own code)
- adds USB strings including a serial number derived from the Quad SPI flash ID on RP2040 and RP2350 platforms
- adds a
rp2350_16mib
platform which makes 16 MiB of Quad SPI flash available to the user (2 MiB for the flash dictionary, 14 MiB for block/FAT32 storage) for RP2350 boards such as the Pimoroni Pico Plus 2 which have 16 MiB of Quad SPI flash - fixes bugs in USB CDC support that were likely responsible for the problems observed on certain versions of macOS
- fixes SPI clock divider calculation on the RP2040 and RP2350
- makes
sysclk
available on all platforms - removes the vestigial references to a PIO base address from the CYW43439 driver
- fixes a bug in
fat32-tools::read-file
where the maximum read length in bytes and the file offset in bytes were swapped; this is a breaking change - adds a feature to zeptoed where autoindent can be turned on and off for buffers, which is useful when pasting text from a terminal
- fixes a bug where an improperly closed local variable declaration in
extra/rp_common/net/simple_net.fs
, nowextra/rp_common/net/simple_net_ipv4.fs
, was causing issues
Note that this release still uses the Raspberry Pi pico-sdk USB VID:PID because pid.codes has not formally assigned a unique VID:PID to zeptoforth.
-
Patch-level release 1.11.1
02/26/2025 at 04:23 • 0 commentsThis release:
- includes a new optional driver for SPI ST7789V-based displays with 8-bit graphics (internally converted to 16-bit graphics); for this there is a turtle graphics example illustrating the use of this driver
- fixes bugs in the line editor with respect to the handling of cases where the input line extends to the full width of the terminal
- fixes bugs in the RP2040 and RP2350 DMA drivers with regard to ring buffers
- includes changes to the RP2040 and RP2350 to partly revert the handling of descriptors to that found in release 1.9.1 and before, in an effort to solve problems found on some older macOS systems
-
Minor release 1.11.0
02/23/2025 at 04:22 • 0 commentsThis minor release:
- reworks
recurse
so when called within a quotation it calls the quotation it is within rather than the outermost word; this is a breaking change for any uses ofrecurse
within quotations (to provide the original functionality replace the use ofrecurse
with making the outermost word a deferred word and calling it by name from within the quotation in question) - increases the maximum system clock settable with
clocks::set-sysclk
on the RP2040 to 200 MHz, per the latest spec of the RP2040; the default system clock for the RP2040 is still 125 MHz, and changing the system clock may break applications dependent on peripheral clock rates (after changing the clock if one is using UART's, SPI, or I2C one needs to manually reset their baud rates, and PIO is dependent upon the set clock rate) - adds
clocks::set-sysclk-overclock
on the RP2040 and RP2350 if one does not want to be limited by a maximum system clock; note that you can brick your RP2040 or RP2350 by using this, so use this with care, and even speeds which the RP2040 or RP2350 can itself tolerate may still be too fast for the Quad SPI flash - changes the USB vendor ID and product ID on the RP2040 and RP2350 to
$2E8A
and$000A
respectively to match those used by USB output by the pico-sdk - fixes a bug on the RP2040 where calling
erase-all
would erase part of the zeptoforth kernel, preventing zeptoforth from booting and requiring manually reflashing the RP2040 with an image to recover - fixes a bug where the RAM dictionary could not be written to prior to loading
src/common/forth/basic.fs
without crashing zeptoforth due to overwriting kerneluser
variables at the base of the RAM dictionary; this bug prevented the use of things such as$FFFF_FFFF .
with the bare zeptoforth kernel installed
- reworks
-
Bug-fix release 1.10.1.1
02/15/2025 at 06:36 • 0 commentsThis patch-level release fixes bugs in RP2040 builds where, after disconnecting power after flashing an RP2040 board and then reapplying power, a subsequent software reboot or watchdog trigger would fail, resulting in the board hanging, requiring a power cycle to boot again. Only RP2040 binaries have been rebuilt for this release; non-RP2040 binaries, which are not impacted, are the same as in release 1.10.1.
-
Patch-level release 1.10.1
02/15/2025 at 02:51 • 0 commentsThis patch-level release:
- fixes bugs in
pin::input-pin
andpin::output-pin
that prevented them from functioning properly with high GPIO's (i.e. ones greater than 31) on the RP2350B - introduces the
task::wait-notify-set
andtask::wait-notify-update
word families, allowing atomic setting and updating of mailbox values when tasks are woken from waiting on task notifications - introduces words for conveniently setting font colors and effects on ANSI terminals in the
ansi-term
module
- fixes bugs in
-
Bug-fix release 1.10.0.1
02/10/2025 at 01:53 • 0 commentsThis bug-fix release fixes an issue where the line editor would crash upon attempting to exit mass upload mode by pressing F2.
-
Minor release 1.10.0
02/08/2025 at 22:02 • 0 commentsThis release:
- replaces the old, buggy USB CDC console stack for the RP2040 and RP2350 with a new, more reliable USB CDC console stack; one important note is that at some point in the future zeptocom.js will go back to using a larger, 65535 (or maybe 65536) byte buffer as the new USB CDC console stack eliminates the need for the hack of using a very small buffer in zeptocom.js to make it work at all with the RP2350
- replaces the CPU reset used by REBOOT/control-C on the RP2040 with a watchdog reset like that already used with the RP2350 to resolve issues with rebooting when code is executing on the second core
- replaces the frame queues used by zeptoIP and the CYW43439 driver with a new 'buffer queue' mechanism that allows much more efficient use of buffer space by packing frames in memory; with this change it is now feasible for the user to practically select a smaller memory footprint for the CYW43439 driver at compile time in order to save memory if so desired
- fixes a bug in zeptoIP and CYW43439 where an incorrect maximum frame size was used which was causing zeptoIP to die if it received a 1500 byte ICMP ping packet
- fixes a bug in the line editor which would cause it to crash on the RP2040 and behave incorrectly on other platforms
- optimizes zeptoIP to eliminate many cases of inefficient unaligned memory access words
- factors out the 'simple net' functionality from the 'simple CYW43439-net' functionality with a view towards simplifying support for network interface drivers other than that for the CYW43439
- adds loadable support for I2C LCD1602 16x2 character LCD displays