FlashForth: for PIC and Atmega / News: Recent posts

Atmega table driven assembler

I added a table driven, more compact, assembler for the Atmega and Arduino.

It is still under verification, so updates and changes are probable.

Not all instructions are supported.


Posted by Mikael Nordman 2017-03-20


Changed WORDS to accept an optional filter.

words key
'key? 'key key? key turnkey

Posted by Mikael Nordman 2016-11-27

FlashForth for Atmega 26.10.2013

Added latest code for the Atmega as a zip file in the files section.
New words:
The assembler in asm.txt
LOAD+ Activate the load indicator led
LOAD- Deactivate the load indicator led

Removed words that did nothing:

Posted by Mikael Nordman 2013-10-26

Assembler for the Atmega

An assembler for the Atmega has been committeed to git.
Files: asm.txt asmtest.txt

Posted by Mikael Nordman 2013-10-19

FF 4.82 in git: Mixing C-code with FF example

There is an example of how to compile a FF project with C-code.
The word C4+ is implemented in C and called from FF.

Works only with MPLABX.

Any suggestions or improvements are welcome.

Posted by Mikael Nordman 2013-10-08

FlashForth for Atmega 4.10.2013

The Interrupt handling was broken at some stage.
This version has a working interrupt system.

Note that INT! takes now the address of the interrupt routine
and the interrupt vector number is input parameters.

Posted by Mikael Nordman 2013-10-05

FlashForth Atmega 2.10.2013

FF has been updated to work also on the Atmega 2560.

FF 2.10.2013 has now been verified on
- Arduino Mega 2560 R3 (Atmega 2560)
- Arduino Uno R3 (Atmega 328p)
- Atmega128

There are now 4 Arduino an Atmega boards online accesible via Telnet

Posted by Mikael Nordman 2013-10-03

FlashForth V4.81

  • Improved error codes
  • Write method 2 removed from the code
Posted by Mikael Nordman 2013-08-14

FlashForth V3.81

  • The configuration file p18f-main.cfg syntax changed
  • HI prints the highest available address for each memory type
  • <> returns well formed flag
  • Quad and triple precision math words in qmath.txt
  • .FREE prints the available free memory of each type.
  • Default return stack save area increased to 31 cells.
  • ?ABORT logic inverted due to alignement with standard forth.
  • Error messages ALREADY DEFINED and COMPILE ONLY.
  • Write to unimplemented flash prevented. This prevents USB PICs from hanging.
Posted by Mikael Nordman 2013-08-14

Triple and Quad precision math words

Words for triple and quad precision math words have been added into GIT for PIC18.
These are useful for instance for scaling 32 bit values via a 48- or 64-bit
intermediate result.

Posted by Mikael Nordman 2013-01-22

FlashForth via telnet

TRY FlashForth via TELNET now !

You can try now four different FF boards via Telnet !

Look in the FF Web page for details !

Posted by Mikael Nordman 2012-11-03

FlashForth Tutorial and Reference Card

A FlashForth Tutorial and Reference Card have been made available
on the FF web page.
Excellent work by Peter Jacobs.

Posted by Mikael Nordman 2012-10-17

Final FlashForth 4.7

FlashForth 4.7 for the 16-bit PICs 24, 30 and 33
is now available in the download section.

Posted by Mikael Nordman 2010-11-14

FlashForth 4.7

I pushed an alpha release of FF4.7 to the git repository.
Please pull it and test it.
It supports now all 16-bit devices with enough memory.
I have run it in the simulator with some different PIC types.
There it starts and goes into ACCEPT.

On dsPIC30F it has been run on target on a 30F4012.

Posted by Mikael Nordman 2010-10-11

FlashForth V4.6

FlashForth v4.6
- Added SM/REM /MOD MOD M* */MOD */
- Added compile option for ctrl-o. Ctrl-o warm starts FF.

Posted by Mikael Nordman 2009-03-11

Walsh Transform Update

The walsh transform and fast walsh transform
has been updated to compile and run on
both PIC18F and dsPIC30F.

Posted by Mikael Nordman 2009-03-03

FlashForth V 4.5 for dsPIC

FlashForth v4.5
- Optimised NEXT
- Added tail call optimisation and tail looping.
- >BODY made visible
- UART RX now ignores XON/XOFF, earlier these went into the RX FIFO.
- TO defined in core.fth
- IDUMP. Dumps also the high byte of each instruction word.

Posted by Mikael Nordman 2009-02-28

FlashForth 4.4 for dsPIC

In this release the interrupts are finally working.
There is a simple RTC for testing a Timer 2 based Real Time Clock.
The debug output after reset is now only printed
after a software reset caused by addressing error, stack overflow, or math error.
CMOVE has been enhanced with a faster move using the REPEAT dsPIC HW support.

Posted by Mikael Nordman 2009-02-01

FlashForth for dsPIC

FlashForth 30F for the dsPIC30F is now available.

Posted by Mikael Nordman 2009-01-04

FlashForth application code

Two FlashForth application downloads have been added.

One is for controlling a graphics LCD.
The other is for doing Walsh transforms.

Anybody wanting to publish FF application code on this website can email to me(oh2aun), and I will add them as a package to download.

Posted by Mikael Nordman 2008-12-12

FlashForth 3.3

FlashForth 3.3 is now available.
It includes some minor changes.

Posted by Mikael Nordman 2008-02-14

FlashForth 3.2 release

FlashForth 3.2 for the PIC18Fxxxx series has been released

It includes better integration in MPLAB, direct selection of processortype from MPLAB,
and configuration files for all PIC18Fxxxx capable of running FlashForth.

Programmers can now write interrupt routines in Forth or assembler.
Other improvements are inlining of assembler primitives, values and defer vectors, faster compilation, fewer writes to EEPROM during compilation and a servo control application.

Posted by Mikael Nordman 2008-01-27