amforth Changelog

New in version 5.9

August 3rd, 2015
  • lib: for and next. The i and j can be used as well.
  • core(AVR8): clear all RAM at cold.
  • core(MSP430): DEFER and VALUE were missing in release 5.8. pause and turnkey using them (RAM based, save-able to info flash).
  • core(All): ' uses the recognizer stack.
  • core(ALL): Fix regression in literal (broke e.g. quotations)

New in version 5.1 (April 6th, 2013)

  • The major focus for this release is documentation.
  • It is completely rewritten and reformatted.
  • It now includes many recipes and howtos.
  • Among the more internal changes are some new words and a new experimental feature called scope which makes it possible to automatically place a new word in other wordlists.

New in version 5.0 (December 28th, 2012)

  • This version adds support for 1wire devices (due to work being done for the project) and improves power save strategies.
  • Furthermore, it comes with a lot more documentation on the Web site: topics like timers as well as developer tools like profiler and debugger.
  • Some Arduino relevant enhancements are made.
  • There are now some rudimentary compiler safety checks.
  • Some minor bugs are fixed as well.

New in version 4.8 (March 27th, 2012)

  • This version adds the last missing word from the Forth Standard CORE Wordset: EVALUATE.
  • Some debugger tasks like a call tracer and a profiler are available now.
  • Optional support for unified memory addresses is added.
  • Internal changes open the road to more features like LOCALs.
  • A few bugs are fixed.

New in version 4.7 (February 5th, 2012)

  • This version allows REFILL and SOURCE to be changed at runtime.
  • The multitasker can now be used in turnkey applications.
  • There are some new words from the strings standard word set.
  • The documentation is improved, and some new utilities, including a call tracer, are added.

New in version 4.6 (October 7th, 2011)

  • This version adds or changes a few words useful for microcontroller programming.

New in version 4.4 (May 25th, 2011)

  • This version stabilizes the changes introduced in the previous 4.3 release.
  • Amforth now fully supports interrupts in forth high level language.
  • The system can be customized to ignore case when doing dictionary lookups.
  • The documentation is expanded and many new examples are added.
  • Some new words from the forth200x standard are added, and code cleanups are applied as well.

New in version 4.3 (May 2nd, 2011)

  • core: u> had wrong stack effect in case of true result.
  • core: int-trap triggers an interrupt from software.
  • core: /user environment query gives the size of the USER area
  • core: sleep takes the sleep mode as parameter.
  • ex: added timer-interrupt.frt as an example for using interrupts with forth.
  • pub: Erich has presented amforth at the Fosdem 2011 slides and proceedings (published with permission). Thanks Erich!
  • core: simplified get/set-order with a changed eeprom content.
  • doc: new user guide version from Karl (for version 4.2).
  • core: renamed e@/e! to @e/!e to comply with the memory access wordset from forth200x, same with i@/i!.
  • core: documentation fixes in many files: reference card.
  • core: re-design of the (outer) interpreter using recognizers (dynamically extend the interpeter to deal with new semantics. Defined get/set-recognizer similiar to get/set-order.

New in version 4.2 (September 20th, 2010)

  • This release fixes a regression introduced in version 4.1 which may corrupt the flash and EEPROM memory during certain operations.
  • New words which are currently being defined are now invisible for dictionary lookups until the definition is finished.
  • A IEEE754 single precision floating point library is now available.

New in version 4.1 (September 3rd, 2010)

  • This version adds the necessary files to work with most of the current atmega controller types.
  • It fixes a few bugs and adds some words to the kernel as well.

New in version 3.7 (January 24th, 2010)

  • core: atxmega 128 support (no compiler yet).
  • core: new word >number. number accepts trailing (!) dots to enter double cell numbers.
  • lib: enhanced multitasker with turnkey support. Thanks to Erich W√§lde for in depth debugging and testing.
  • lib: new word anew drops word definitions if already defined, starts a new generation.
  • core: USER area is now split into system and application user areas, system user area is pre-set from EEPROM.
  • new: source repository incubator for not-yet-ready-but-interesting projects, volunteers welcome.

New in version 3.6 (October 2nd, 2009)

  • This is both a feature enhancement and a cleanup release.
  • A few new words are added to deal with terminals and (forth-) environment.
  • There are a few internal enhancements to run on big ATmegas and ATXmegas in a future release.

New in version 3.5 (September 2nd, 2009)

  • This is mainly a maintenance release.
  • It adds a few minor capabilities such as a non-interrupt but small send routine for the serial terminal and a word that looks for the name field for given Forth XT.

New in version 3.4 (April 11th, 2009)

  • core: renamed the words for the serial terminal to be more generic since they can deal with any serial port, not only the first one.
  • lib: dropped forget since it cannot work with multiple wordlists, fixed marker.
  • core: changed again digit? stack effect (and fixed a little bug).
  • core: number honors a leading &, $ or % sign to temporarily switch to DECIMAL, HEX or BIN base resp. Thanks to Michael Kalus for factoring the code.

New in version 3.3 (February 22nd, 2009)

  • Besides some minor bugfixes and better error handling, this release adds the ANS94 Search Order Extension Wordlist.

New in version 3.2 (January 10th, 2009)

  • core: bugfix for trailling 0x00 byte during itype.
  • core: enable use of other usart port than 0.
  • pc-host: Ken Staton wrote a nice pc based terminal with upload functionality.
  • core: New controllers: ATmega328P and ATmega640.
  • core: changed digit to digit? found in many other forth's.
  • core: new word within.
  • core: split application dictionary definition into 2 parts, one for the lower flash, one for the upper (NRWW) flash. Both can be empty, but need to exists.
  • core: changed some names for internal constants (baudrate -> BAUD) and registers (EEPE vs EEWE).
  • core: new directory drivers for low level driver functions. Currently only the generic ISR and the USART0 interrupt handler.

New in version 3.1 (November 11th, 2008)

  • This release changes the storage structure of the dictionary, and simplifies many words operating on it.
  • It adds only a few new words, such as environment, however.

New in version 3.0 (October 18th, 2008)

  • This release adds experimental code for the A/B forth VM registers as discussed at EuroForth 2008.
  • The pictured numeric output was completely rewritten and conforms to the ANS94 standard, and some internal cleanups should ease the deployment on systems with external RAM.
  • A few bugs are fixed.