Skip to content

Releases: tabemann/zeptoforth

Bug-fix release 1.16.1.1

16 Mar 01:15
9cacfad

Choose a tag to compare

This release:

  • fixes a bug in float32::vfloor which caused it to misbehave for values in the interval (-1, 0).
  • fixes bugs in pio-pool::allocate-pio-sms-w-prog with 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

09 Mar 03:44

Choose a tag to compare

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

31 Jan 19:53

Choose a tag to compare

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

23 Jan 15:30

Choose a tag to compare

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

19 Jan 16:43

Choose a tag to compare

This release:

  • multiplies XOSC_DELAY by 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_TX and dma::DREQ_PIO_RX so they can take pio::PIO0, pio::PIO1, and on the RP2350 pio::PIO2 in 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

27 Dec 04:22

Choose a tag to compare

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 \x were omitted.

Minor release 1.15.0

23 Dec 01:56

Choose a tag to compare

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 postpone numeric literals.
  • adds ]] ... [[ to eliminate explicit calls to postpone (note that local variables cannot be used here).
  • adds cycles::cycle-counter to give a cycle count on non-ARM Cortex-M0+ platforms (i.e. non-RP2040 platforms); note that cycles::init-cycles must be called beforehand to start cycle counting and initialize the cycle count to zero.

Patch-level release 1.14.3

02 Nov 15:42

Choose a tag to compare

This release:

  • adds the variable term-cols, for controlling the terminal columns in characters used by words, words-in, lookup, lookup-in, more-words, more-words-in, more-lookup, more-lookup-in, dump, dump-halfs, dump-cells, dump-ascii, and edit. This variable defaults to a value of 80. Note that more-words, more-words-in, more-lookup, more-lookup-in, and edit also query the terminal for its width, and use the minimum value of this and the value of term-cols. Also note that edit only 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 by words, words-in, lookup, lookup-in, more-words, more-words-in, more-lookup, and more-lookup-in. This variable defaults to a value of 20.
  • modifies picocalc-term::term-console to automatically set term-cols to the width of the PicoCalc terminal emulator in characters when called.

Bug-fix release 1.14.2.6

31 Oct 01:42

Choose a tag to compare

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.fs or extra/rp_common/picocalc_term_text.fs was installed due to the RST command sent by extra/rp_common/picocalc_bios.fs to 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

07 Sep 20:14

Choose a tag to compare

This release:

  • fixes a bug in extra/rp_common/picocalc_sound.fs where 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.