Earlier noForth updates
- A delay of hx 30 MS is installed in COLD.
After a power-on the processor will now be stable before
the sensible rom-housekeeping in TIDY is executed.
- Problem with C" in noForth CC solved.
- Problem with EVALUATE solved in INTERPRET (all versions).
- New: noForth for FR2433 LP and for G2955
- New: noForth variants CC and VV.
Added: :NONAME and C"
We made the hardware intinialisation in the different noForths cleaner and more uniform.
The settings for Baud rate, clock speed, Uart, etc. are
packed in a list of fourteen bytes, the CONFIG list.
We provide noForth Intel-hex (.a43) files only for certain MSP430 processors
and not for every combination of processor and hardware environment
because now you can easily adapt the Intel-hex file for your hardware.
Open the readme file in the ZIPs below and follow the instructions.
Defining words and compiler words are now implemented in such a way that auxiliary words ( 0BRANCH LIT DOCOL DOCON etc. ) no longer need to have their own headers.
It saves space and has no consequences for the programmer.
See under 'Files':
"session2.pdf" (decompiler output)
and "how noforth is made.pdf" (kangaroo method).
noForth for FRAM board: MSP-EXP430FR5994 Experimenter Board, baud rate 115K2.
- Protected memory
MSP430 FRAM versions have a MPU (Memory Protection Unit).
We made the area where noForth compiles [
write-protected and treat it as if it were FROM:
noForth is able to compile there and the comma words
, C, M, can also be used there.
The MSP430 FRAM versions of noForth now have the same
architecture as the FROM versions.
The advantage is that,
while you are developing and testing your programs,
all already compiled forth code will be protected against
! C! MOVE etc. to erroneous addresses.
Nevertheless, you can patch in the protected area, at your own risk,
with the ROM (sic!) commands
ROM! ROMC! ROMMOVE ,
so all possibilities remain open.
See the file 'Readme-1' about RAM & ROM.
- All noForth MSP430 FRAM versions with extended memory above FFFF
provide the commands
X! XC! X@ XC@ .
From now on these commands take a double number as address.
hex 40 dn 12345 xc!
- Low Power noForth for MSP430G2553 boards.
In Low Power noForth all 'wait-loops' are replaced with 'sleep-until-interrupted'
which relatively saves a lot of energy.
Low power noForth is marked with a dash:
noForth C- and noForth V-.
- noForth for msp-exp430fr5969 experimenter board
- noForth for MSP430G2553 egel kit
(for details see 'noforth documentation.html' below, under 'Files')
GIE> >GIE ROUTINE (see noForth documentation)
GIE-bit in status register is now saved and restored correctly around flashwriting.
(* Nestable multi line comment sign
(* and the closing
*) must be the first word on a line!
- Assembler words
BIA (aliases for
0<>? (aliases for
- Extended memory:
X@ X! XC@ and
XC! for MSP-EXP430FR5969
- The word
NOFORTH 'forgets' all added code so that only the kernel is left.
This word is renamed to
- The multiply functions use the hardware multiplier if present.
- The meta compiler files are cleaned up and (should) run now on 32 bit
and on 64 bit standard forth systems.
Some internal improvements and introduction of
value prefix that provides the address where the value is stored in RAM.
Apart from the binary files the following files are adapted:
- noforth c-tools.f
- noforth v-tools.f
- noforth metacompiler
The only visible change is in noForth C:
From now on the inside words (hidden auxiliary words) can be found with
still shows only the inside words
shows all words other than the inside words.
INSIDE TICK FIND-ALL
are no longer needed;
they are removed from noForth C and withdrawn from these files:
- noforth c-tools.f
- noforth c more standard words.f
- noforth documentation.html
- noforth metacompiler.zip
- A smart terminal (e4thcom) may use ACK/NAK in the communication with noForth.
In that case the highest bit in the value
OK must be set:
OK HX 8000 OR to OK FREEZE
ACK (06) → noForth is ready to receive a new line.
NAK (15) → noForth is ready to receive a new line (but there was an error).
- New noForth names: '.0' (or '.1') denotes that UART0 (or UART1) is used for the terminal.