Releases: crcx/retroforth
Releases · crcx/retroforth
RetroForth 2021.4
RetroForth 2021.4 Release Notes
Core Language
Renamed
- prefix: namespace to sigil:
I/O
- simplify definition of
c:get
- reduced memory usage of the forth part of the code
in most devices
Toolchain
- retro-extend.py now does run length encoding
VM
-
nga-python
- added support for run length encoded images
- added a decimal device (alt. to floating point w/higher precision)
- better fix for nested file inclusion handling
- start adding pythonista ui support (iOS)
- now runs under Python 2 again
-
nga-c
- single file implementation (runs on unix, windows)
- compile time defines for enabling i/o devices
- better fix for nested file inclusion handling
- removed unused variables
- use a struct for processor state, stacks
- sockets interface now optional, disabled by default
- dev-image.c removed (
image:save
is now written in Retro) - faster opcode processing (enabled by default on Unix)
-
nga-816
- assembly implementation for 65c816
- by Piotr Meyer
Examples
- reduced some line lengths
- refactored retro-locate
- file names now using a consistent case/format
- added a line oriented text editor
- updated amalgamation tool for latest nga-c
Documentation
- epub now has a cover image
- added back some missing files
- add note on enabling sockets when building on Unix
- fixed typos in the glossary
RetroForth 2021.2
This is a maintenance release primarily fixing an issue causing address stacks corruption in some cases.
2021.1
RetroForth 2021.1 Release Notes
Core Language
choose
(and other conditionals) now treat non-zero asTRUE
and
zero asFALSE
instead of requiring a flag of -1 forTRUE
- add ^ (ASCII ESC) to escape sequences in
s:format
I/O
- improvements to some of the pipe related words in the
unix:
namespace - reduced code size for each device handler slightly
- added
abort
to Retro on Unix
Toolchain
Makefile
- Small adjustments to reduce build time
C
-
retro-unu
- now supports user defined code and test block delimiters (C)
-
retro-muri
- supports changes from retro-unu
- now has separate passes for each step of the assembly process
- removed some unused variables
Python
- retro-amalgamate.py added to generate a single file Python source
- faster retro-extend.py
- added retro-embedimage.py
VM
nga-c
- reduced redundancy across the various implementations in C
- removed an unused function
- fixed several bugs in address stack handling in execute() that
were causing issues when including files in some circumstances
nga-python
- now written using classes
- no longer limited to 32 or 64 bit cells
- uses Python functions to shadow some Retro words for better
performance - caches the Retro dictionary to improve lookup performance
- embeds image as a Python source
- now supports
-f
,-i
, and-u
command line parameters - improved error handling for invalid addresses
- fixed a bugs in address stack handling in execute() that was
causing issues when including files in some circumstances
nga-nim
- added initial Nim implementation by Jorge Acereda
Examples
- added "2020 Advent of Code", days 1-5
- added palindromic numbers detection (SVFIG challenge)
- added bindings over curl
- added muri with direct use of hex values
- refactoring & general cleanups in Atua-WWW
- Atua-WWW now ignores ?... appended to URLs