Go Down

Topic: FORTH pre-loaded UNO or NANO? (Read 2407 times) previous topic - next topic


I think that we need to start by each setting up FlashFORTH and evaluating it.  Apart from the flow control problem, it does sound as if it is well implemented.

However fascinating it may be to start from scratch (I was about to look up the original FIGFORTH code), starting from a good codebase makes more sense; and many eyes make for good optimisation.  That is after all, what this forum is about.


I have come across that board I was talking about. It is here:-
It is available as a kit to build and is quite cheap.


Forth needs a big stack which means lots of SRAM.

Why do you say that? I don't think it needs more than any other language.

Last time I programmed FORTH was about a year ago on a Gameduino (which has a FORTH co-processor on board).

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)


I am just now getting into Arduinos and I find the IDE & C++ environment a bit annoying.  I worked with Forth back in the late 1970s & 1980s and I would really enjoy getting back into it.

Given when I used it, I did a lot with FigForth (1977) and MVPForth (79 standard) and I have a strong preference for those.  The 83 standard started adding way too much into the base language.

So, I've been thinking that an Arduino with a microSD would make a really rocking Forth system and it could be fun to design a single board with all the neat stuff on it in the Arduino footprint.

In any case, I'm starting to look into Forth for the Arduino and would enjoy chatting with others as well as getting deeply into the technical details.  Recommendations?


Amforth has had an impressive amount of continuing development.  I haven't been paying attention recently, but I've watched the update notices go by.  That's probably the best starting point; a lot of the other implementations seem to be neglected.

Among other features amforth has extensive customization and minimization options.


In the past AmForth's download has included precompiled hex files for the UNO and other Arduino boards. I would imagine they still include them. All you need is an ISP programmer to install the hex file, and you are good to go.


Lots of interesting stuff in Amforth, but it looks like the Atmel processors aren't the best suited to doing Forth.  It works, but the memory map is rather ugly and the RAM is a bit limited to implement the old style disk words.

Given that the Arduino ecosystem supports a number of different processor architectures, I wonder if there is another UNO compatible board that would be a better choice.  Are there any Atmel processors that provide enough pins with the same functionality that is available on the UNO board, plus would allow something like 64K of external RAM?  Being able to use existing shields is important.

This is all a hobby for me and I'm really getting the itch to build something.  It would be fun to start with an existing design that has the appropriate copyright and design a board.  I've been wanting to dig into EagleCAD anyway.

At this point, I suppose all of this conversation should go into another thread, or maybe into a different forum.  Feel free to make suggestions.


Look at '1284P boards. 16k SRAM, 128K flash, 32 IO.
I designed my Bobuino pinout to very closely follow the Uno: D0,D1 for serial, D10-11-12-13, for SPI, D18-19 for SCL, etc. This board I offer follows the Uno footprint, with the extra 10 pins broken out as well.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


A teensy 3.1 ought to make a great Forth system.  Single address space, 64k of RAM (plus lots of flash), and probably really fast.

But... this is where the "support" issue comes in.   With AMForth, there's a team of people (well, at least one person, plus a significant number of users) who is actively working on making sure all of the "annoying" bits of the AVR architecture are adequately dealt with.   For the more capable processors, what you usually get is someone saying "I built C-forth for this chip and it seems to work.  Here's the makefile diff", and that's it.  No "support", no "community."


AmForth supports the atmega2560 so you should be able to use an Arduino Mega. It works just fine on a 1284p also.


Interestingly, there does appear to be some Forth work for the Teensy 3.1, but I haven't looked at it myself. Maybe a flash in the pan.


I did use Laboratory Microsystems Forth quite a bit on the original IBM 5150 PC back in the mid-80s, and did find it to be fun [once I gave up on the "official" Forth philosophy from Leo Brodie and the guys, and stopped using the stupid stack operations other than dup and over, and went to using ! and @ for most operations instead - that made it fun]. Hmmm, might be fun to look at it for the Teensy.


Oh man! FORTH is the *best* language ever!  When I wanted to program the (then new) Macintosh computer, you got a manual the size of the Chicago phone book, and a couple floppy disks containing an assembly language system (not even really an IDE.) That seemed awkward, so I used that assembler to write Pocket Forth modeled after Brodie's Forth from his two books, and from a DDJ article about subroutine threaded code on the 68000 chip. The rest is ... well, the history of Forth is kind of sad. ANSI Forth and Forth 83 appear to have been changed by making the language more C like and more obscure at the same time. After that, most Forth projects got turned into C projects, and the magic went away.

Arduino seems like it would like Forth, and I just got 328eForth from this guy. It's free, but if you want the complete package, it's $25.


Wow, I'm assuming that "2165:  stm32eforth720, eForth for Discovery32, $25" on the Disks page successfully supports the F4 chip, but the description on this page seems a little equivocal.


That would be sublimely awesome as the F4 is a monster of a chip. ST also has a Discovery  F429 board that I've been eyeballing.


Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131