ByteForth is an 8 bit Forth for the Atmel AVR and 8032-series of processors and is based on ANSI-Forth, that is as far as 8 bits may be standard.
These processors, of which the most are fabricated by ATMEL, have a FlashEPROM instead of EPROM built in; you can erase these in 10 milliseconds. ByteForth is an optimising macrocompiler which generates royalty-free stand-alone applications. The compiler supports flexible use of RAM and ROM memory and contains a built-in flash programmer. The ByteForth compiler is a standalone application running under CHForth on a PC!
What does ByteForth contain?
Most Forth primitives, all sorts of variables with 'TO' concept, powerful support of built-in registers (SFR, bit-SFR and bit-variables) and all other hardware, readable decompiler, AVR- or 8051 assembler, many library files, tested example files and many utilities of which one is an online help function.
For code testing there is a built-in software simulator complete with a tracer that supports breakpoints. The 'In System Programmer' (ISP) is connected to the parallel port. An external AT89C2051 flash programmer may be connected to the serial port.
In System Programmer
About AVR ByteForth version 2.08
A little history
There were several in between versions starting with: version 0.13, 0.20, 0.21, 0.31, etc. We are now at version 2.08. AVR ByteForth for the IBM PC/AT is an inclusive simulator. All opcodes do work. Please direct any error found to me.
In version 2.00 the word LEAVE is debugged, the special case optimizer for LSHIFT and RSHIFT are debugged. An error is removed from the special case optimizer of 2VARIABLES . For SFR's there are prefixes added for PUSH and POP . Debugger support for KEY, EMIT, TYPE, CR, FORGET and EXECUTE are added. An array of CONSTANTS, may also be used while assembling. I did add hi-level interrupt support with the words PUSHALL POPALL and ;INT The macro's 0= = and <> where rewritten for some extra speed.
An active reset is added to the ISP-programmer, the EL-cheapo is also usable as programming interface. Strange stack bug removed from a piece of machine code in the simulator, it was discovered using VARIABLES in the simulator.
The ISP-programmer is rewritten so that 90S8535, ATmega's, 90S1200 and ATtiny26 all will be handled correct. An error in TARGET.FRT is removed the word MAP is changed to handle AVR's without RAM correct.
The word NEEDS is corrected and the test at startup for a dongle is improved and an 'IObit TO Flag' optimizer was added. Finally support for the ATtiny13 is added (The ISP programmer in version 2.00 does destroy the ATtiny13 so do not use it).
AVRF version 2.08 updates
Four new chips have been added, the ATtiny2313 an updated version of the AT90S2313, the ATmega165, ATmega48, ATmega88 and ATmega168 sucsessors of the AT90S4433 and ATmega8. The have 4 kB, 8kB or 16 kB Flash memory. The voltage range is from 1.8 V to 5.5 V, the current consumption will be .3 mA at 1.8 V and a clock of 1 MHz. Finally some small but nasty bugs have been removed from the ISP programmer.
AVRF version 2.09g preview
Version 2.09 will include the ATtiny25, etc. the ATmega406 and newest members the ATmega164, ATtiny261, 461 and 861. Also bootloader support and 32-bit numbers, variable and arithmetic are added. Ask for a beta version if you like to try ByteForth in it's newest incarnation.
The hardware for AVRF
AVR ByteForth on the PC uses the Kanda STK200(+) board as a flash-programmer and test/experimenting board, it must be connected to the printer port. At this moment we also have our own interface, together with several small cpu-boards. There are boards for the AT90S8515 or ATmega8515 in PLCC housing and the AT90S2313, AT90S4433, ATmega8, ATmega48, ATmega88, ATmega168 and ATtiny26 in DIP housing. We also have boards for the ATmega8, ATmega16 and ATmega32 in TQFP housing.
Kind regards, Willem Ouwerkerk. Chairman of the Dutch FIG-chapter.