Releases: tabemann/zeptoforth
Releases · tabemann/zeptoforth
Bug-fix release 1.16.1.1
This release:
- fixes a bug in
float32::vfloorwhich caused it to misbehave for values in the interval (-1, 0). - fixes bugs in
pio-pool::allocate-pio-sms-w-progwith regard to setting PIO program start and wrap addresses. - adds an RP2350 PicoCalc single-precision floating point graphing demo
test/rp2350/picocalc_graph.fs.
Patch-level release 1.16.1
This release:
- adds optional support by zeptoIPv4 and zeptoIPv6 for Multicast DNS, both for looking up hostnames over Multicast DNS and for assigning a hostname to one's device with Multicast DNS.
- optimizes
multicore::test-set, used by slocks, to distribute usage of hardware spinlocks on the RP2040 and RP2350 across 16 spinlocks rather than only using one spinlock, reducing contention in multicore execution. - adds optional support for ILI9341-based displays, which the PicoCalc terminal emulator supports in both graphical and text-only variants.
- adds friendlier zeptoIPv4 and zeptoIPv6-based applications that can be combined with one another.
- adds optional bitmap literals.
Minor release 1.16.0
This release:
- adds a PIO pool on the RP2040 and RP2350; this pool adds a convenient way to manage PIO's and state machines in a centralized fashion so they can be practically shared by multiple applications simultaneously.
- adds a convenient means of managing PIO memory as part of the PIO pool API.
- adds a convenient means of setting a PIO state machine's program as part of the PIO pool API.
- updates the CYW43439 driver so it uses the PIO pool when the PIO block and state machine are passed in as -1, while maintaining backward compatibility with existing code that relies on explicitly specifying a PIO block and state machine.
- updates the Neopixel driver so it uses the PIO pool when the PIO block and state machine are passed in as -1, while similarly maintaining compatibility with existing code.
- updates the Pico W and Pico 2W networking examples to use the PIO pool for the CYW43439 SPI driver.
- updates the Neopixel examples to use the PIO pool.
Patch-level release 1.15.2
This release:
- breaks the core PicoCalc terminal emulator task, which polled for IO, into three tasks, one for input, one for output, and one for screenshots, which all block, resulting in lower CPU usage at the expense of somewhat higher SRAM usage.
- fixes the escape key combos generated by some of the function keys in the PicoCalc terminal emulator.
Bug-fix release 1.15.1.1
This release:
- multiplies
XOSC_DELAYby 64 for the RP2040 and RP2350 in an effort to resolve the reliability problems seen by some on the PicoCalc. - eliminates garbage left on the stack by
pio:::pio. - modifies
dma::DREQ_PIO_TXanddma::DREQ_PIO_RXso they can takepio::PIO0,pio::PIO1, and on the RP2350pio::PIO2in addition to indices 0, 1, and 2 for the PIO block for the sake of consistency with other PIO words.
Patch-level release 1.15.1
This release:
- includes an optional software SHA-256 implementation.
- includes optional support for the RP2350's hardware SHA-256 accelerator. One important note is that only one SHA-256 can be generated at a time due to the limitations of the SHA-256 accelerator, so in use cases where this is not acceptable one may wish to use the software SHA-256 implementation even when targeting the RP2350.
- fixes issues with escaped string literals where previously they were not parsed properly if
evaluate'd or if hex digits for\xwere omitted.
Minor release 1.15.0
This release:
- adds single-core builds on the RP2040 and RP2350 to enable executing arbitrary code on the second core alongside zeptoforth on the first core; note that only the kernel binaries are included in the release tarball, and if the user desires to use these builds in practice they will need to build the remainder themselves.
- adds the ability to
postponenumeric literals. - adds
]]...[[to eliminate explicit calls topostpone(note that local variables cannot be used here). - adds
cycles::cycle-counterto give a cycle count on non-ARM Cortex-M0+ platforms (i.e. non-RP2040 platforms); note thatcycles::init-cyclesmust be called beforehand to start cycle counting and initialize the cycle count to zero.
Patch-level release 1.14.3
This release:
- adds the variable
term-cols, for controlling the terminal columns in characters used bywords,words-in,lookup,lookup-in,more-words,more-words-in,more-lookup,more-lookup-in,dump,dump-halfs,dump-cells,dump-ascii, andedit. This variable defaults to a value of 80. Note thatmore-words,more-words-in,more-lookup,more-lookup-in, andeditalso query the terminal for its width, and use the minimum value of this and the value ofterm-cols. Also note thateditonly uses this to determine whether to display a border on its sides and line numbers; it does not shrink smaller than 64 characters wide. - adds the variable
words-col-width, for controlling the width in columns of each column of words displayed bywords,words-in,lookup,lookup-in,more-words,more-words-in,more-lookup, andmore-lookup-in. This variable defaults to a value of 20. - modifies
picocalc-term::term-consoleto automatically setterm-colsto the width of the PicoCalc terminal emulator in characters when called.
Bug-fix release 1.14.2.6
This release:
- fixes an issue with the PicoCalc BIOS firmware version 1.4, where zeptoforth would get stuck in a boot loop once
extra/rp_common/picocalc_term.fsorextra/rp_common/picocalc_term_text.fswas installed due to theRSTcommand sent byextra/rp_common/picocalc_bios.fsto the STM32 BIOS on the PicoCalc motherboard triggering a board reset.
Note that the binaries have not been changed, so they will still report version 1.14.2.3.
Bug-fix release 1.14.2.5
This release:
- fixes a bug in
extra/rp_common/picocalc_sound.fswhere if a long time had passed since the last reboot, playing a tone (e.g. a beep) on the PicoCalc may result in the tone being stuck on.
Note that the binaries have not been changed, so they will still report version 1.14.2.3.