CamelForth

CamelForth is a Forth implementation for embedded microprocessors (8051, 8086, Z80, and 6809, with more to come). It is compatible with ANS Forth. It was originally developed as an educational project for The Computer Journal, but has since become popular for embedded systems programming.



Links Page
I received a request for a link exchange from Datasheet Archive. They are a useful resource when you are working with obscure -- or obsolete! -- microcontrollers. (I found a data sheets for the MC6809, CDP1802, and even the IM6102; I wonder if they could be persuaded to add programmers' reference guides?) So, it seemed like a good fit for the CamelForth web page.

That's when I realized that I did not move the links page over from the old HTML CamelForth pages to the new e107 system. So I've now installed the "Links Page" feature of e107, which you can access by clicking "Links" on the main menu. Right now there are just two links, but I'll be adding more links to Forth and embedded controller resources as the days pass.

If you have a site which is relevant to embedded Forth programmers, and you wish a link exchange, simply send me a request via the "Contact" form.

An unabashed plug
Since I haven't had any news items to post lately, I'm going to invoke "webmaster privilege" and stick in a good word for the folks at New Micros.



If you've been using Forth in embedded systems for any length of time, you've probably heard of Randy Dumse and his company, New Micros. They got started over two decades ago offering one of the first (if not the first) single-board-computers with built-in Forth; and I think they were the first to offer Forth-on-a-chip (the F68HC11). These days they offer an amazing array of processors and peripherals, including the IsoPod, which I'm proud to have had a hand in creating. They remain committed to Forth and the Forth community.

I'm looking forward to porting CamelForth to their Tini430tm, TiniAVRtm, and TiniARMtm. (This year, if all goes well.)

Full disclosure: I have done contract work for New Micros in the past, and I may very well do so in the future. But they are not paying for advertising space on this site; nor have they asked.

Forum is now on-line!
After some dithering about how to organize it, I've finally created and activated the CamelForth Forum. This is a "bulletin board" style of discussion forum, where you can ask questions, post ideas, and (ideally) have discussions with other CamelForth users. I'll try to check into this forum on a daily basis. Anyone can read the forum, but to post messages to the forum you must register a user name on this site. (Just use the "Signup" link in the "Welcome" box in the right column of the page.)

I finally decided to create individual forums based on the processor being used. I think that 8051 users, for example, will have questions specific to the 8051 architecture, which won't be of interest to the Z80 or 6809 or 8086 users. There's also a forum for questions common to all versions (e.g., those questions which pertain to the high-level Forth code shared by all processors). And a forum for discussion of new processors. I'll entertain suggestions for what other CPUs people would like to see CamelForth ported to, but given my schedule of late I can't guarantee that I can implement any suggestions. (However, this would be a fine place for would-be implementors to meet would-be users.)

There is also a forum for discussion of other embedded Forths. I'd be pleased if other Forth implementors post announcements of their creations here, so that if you can't find a suitable CamelForth, you can at least find a Forth. (The focus of this site remains embedded Forths.) And there's a forum for general Forth questions, although quite frankly, this is probably not the best place to ask those -- you'd be better off posting general questions to the comp.lang.forth newsgroup.

I hope this proves to be a useful resource. Suggestions are always welcome, either on the forum itself or via the contact page.

PForth for PIC24
This is not CamelForth, but it might be of interest to CamelForth users: Hugo Aguilar is developing a PForth for the PIC24 microprocessor family. Judging from the project webpage, work is still in progress, and help would be welcomed.

Release notes converted to e107
I have now converted the old release notes for CamelForth 6809, 8051, 8086, and Z80 to be pages under the new CMS. Part of the delay was debating whether or not to install the full content management module; I finally elected to just copy the old HTML files over to "custom pages" in e107. Other than updating links, the content of these pages has not changed.

You'll see the new pages as links under "Documentation" in the right-side Main Menu. I will shortly add HTTP redirects so that anyone visiting the old pages will be directed to the new ones instead.

New CamelForth Web Page!
I am pleased to announce the launch of the new and improved CamelForth web page. This has been developed with the e107 Content Management System and will be much easier to keep up to date.

There is a new "downloads" section for the current versions of CamelForth and related tools. I will make storage space available there for anyone who wishes to distribute a new or modified version of CamelForth. If you prefer to host your CamelForth on your own web page, I can also create a download link to your server -- contact me to arrange this.

In the next few weeks I plan to add a discussion and support forum, a bugtracker to report bugs and request new features, and Bazaar version control for all CamelForth source code. Look for these to appear under the "Main Menu" soon.

At present the entire web site is publicly available. But please use the "signup" link to register a user name and password, because you'll need these to access the forum and bugtracker. If you have any problems, please use the "Contact Us" link.

CamelForth Released under GPLv3!
After long consideration, I have decided to release all versions of CamelForth that I have authored under version 3 of the GNU General Public License. Actually I made the GPL decision some time ago, but I have been waiting for the new version of the GPL, v3, to be finalized.

This does not affect anyone who currently has a commercial license for CamelForth. All old licenses remain in effect under their original terms. Anyone using the previous "personal and educational use" license should likewise be unaffected, since the GPL v3 gives you all of the same rights and more.

Should you need a commercial license, I am still willing to offer those for code written entirely by me. However, I am not able to dual-license code contributed by others. Also please note that previously-contributed versions of CamelForth (such as Risto Sainio's 8051 improvements) will not be available under GPL v3 until the authors agree.

I encourage all CamelForth implementors to offer their source code under the GPL, and I will make download space available for anyone who wishes to publish their version of CamelForth.

Douglas Beattie Jr.'s CamelForth page
Douglas Beattie Jr. has moved his web pages to a new location. His new CamelForth page includes his implementations for the TRS-80, Z80, eZ80190, eZ80 Acclaim! (eZ80F92 and eZ80F91), Z380/Z382, and ZNEO. The Z380/Z382 has the honor of being the first 32-bit implementation of CamelForth.

The page includes links to Z180 and Rabbit 2000 CamelForths.

Site links fixed
I have fixed the download links within the site. Our new web host does not support anonymous FTP, so all of the CamelForth files are now downloaded with HTTP. I don't think this will be an obstacle for anyone.

Rabbit 2000 CamelForth
CamelForth user Douglas Beattie Jr. has ported CamelForth to the Rabbit 2000 processor. See his website for all the sources, including an uploader for the PC host. (Link fixed 18 Aug 07.)

Go to page       >>