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.
Custom Ports/Embedded Programming: Custom ports of CamelForth to new processors can be done for a fee. I'm also available for embedded programming on a contract basis. Reach me via the Contact page. - Brad
Z8 Forth
Misc: Brad R @ Tuesday 31 March 2009 - 08:03:32
Robert Edwards has advised me of the availability of a Z8 Forth: Oak Ridge FORTH for the Zilog Z8 was originally developed as a "proof-of-principle" tool for exploring prototyping alternatives. This version of FORTH is based on the 83 FORTH standard, but some parts of the standard have been omitted or altered because of the unique microcontroller environment.
Oak Ridge FORTH is used primarily for prototype development and, to a lesser extent, as an educational platform at the college level to introduce principles of computing, hardware implementation, compiler development and prototyping concepts.
...The 8K version of Oak Ridge FORTH provides a screen editor and a "native code" extension that facilitates testing "assembler" code in a FORTH environment. The FORTH code is commonly used as part of a system with anywhere from 4K to 64K of ROM with a FORTH kernel occupying the lower portion of ROM. The system is modular so that a 2K or 4K version of the FORTH kernel can be developed easily. Also, the Forth kernal can be adapted for a "RAMless" system by placing the system variables and stacks in the register file.
CamelForth for 8052/C8051F
Misc: Brad R @ Sunday 15 March 2009 - 10:02:51
CamelForth version 1.4 for the 8052 and Silicon Labs (formerly Cyngal) C8051F is now available for download. This is a customized version of CamelForth/8051 which runs entirely within the 256-byte RAM space of the 8052 -- including the text interpreter. This can be optionally assembled to run on the Silicon Labs (Cygnal) C8051F, again using 256 bytes of on-chip RAM. On this processor, new definitions can be compiled directly to the on-chip Flash ROM. After an application is compiled, the RAM contents can be saved to Flash ROM to be automatically loaded on reset. Also, a user-defined word can be automatically run on reset. Also included are experimental source code for TO-variables, Special Function Register access, and adding machine code definitions. Note that, because of the limited RAM, this does not include the 8051 multitasker.
CamelForth for RCA 1802 available!
Misc: Brad R @ Monday 16 February 2009 - 16:28:11
Harold Rabbie has contributed a CamelForth port for the RCA 1802 "COSMAC" microprocessor. This is available for download from this site, as is the MS-DOS 1802 cross-assembler that you will need to compile the code. CamelForth/1802 runs on an 1802 simulator. C language source code for that simulator is included in the download, and can be compiled for Windows (using Cygwin) or Linux. The simulator includes the ability to trace execution at either the machine code or Forth level. It should be straightforward to modify the serial I/O drivers and memory map to run on any 1802 hardware that supports an RS-232 terminal. Questions can be addressed to the author on the forum.
More Forth-related links
Misc: Brad R @ Wednesday 28 January 2009 - 08:00:18
I've decided to start fleshing out the "links" section of the CamelForth site, with links to more Forth resources. I've begun with the Forth Interest Group and the Forth Interest Group UK. I'll probably add links in pairs, every few days, since the latest two links are featured in the right column.
CamelForth for Texas Instruments MSP430 available!
Misc: Brad R @ Sunday 11 January 2009 - 08:22:18
CamelForth version 0.2 for the Texas Instruments MSP430 is now available for download. This is the first release, and should be considered "Alpha Test" code at the present time. CamelForth/430 is currently compiled for the New Micros Tini430 board (MSP430F1611 chip), but it should be usable on any MSP430 family processor with at least 512 bytes of RAM, 8K of Flash ROM, and a USART for serial I/O. You will need the free IAR Embedded Workbench Kickstart to compile CamelForth/430. This implementation of CamelForth features direct-to-flash compilation, which means that your Forth programs can be downloaded and compiled directly into the 40K of available Flash memory on the MSP430F1611, and 9.5K of RAM is available for your application data. (8K of Flash, and 0.5K of RAM, is used by the CamelForth kernel.) For more information about the use of Flash ROM, see the included "readme" file.
muFORTH
Misc: Brad R @ Friday 19 December 2008 - 05:06:20
I received an email from David F., the author of muFORTH. muFORTH is an x86 Forth for Linux systems, but David is working on porting muFORTH to several embedded CPUs -- the ARM, AVR, and Freescale HCS08 have been mentioned. Judging from his blog I think the HCS08 is the first priority. (We met when I posted, on the Freescale forum, a question about downloading to 'S08 parts. No, I'm not doing an 'S08 Forth at this time...my query was for an unrelated project.)
IntellaSys' SEAForth multiprocessor
Misc: Brad R @ Sunday 14 December 2008 - 09:32:18
Some friends sent me this bit of news. If you've been wondering what Chuck Moore, the inventor of the Forth language, is doing these days, he's still working on Forth chips. He's now Chief Technology Officer at IntellaSys, whose new product is the SEAForth 40C18, a 40-processor array of Forth engines ("25 billion operations per second"). Obviously, I won't be porting CamelForth to this chip -- it already has a Forth implementation. Someday, when my free time becomes more copious, and I've caught up with other projects, I wouldn't mind playing with one of these.
Datasheet Directory
Misc: Brad R @ Wednesday 05 November 2008 - 06:37:19
We do seem to attract hardware developers! I received a request from another data sheet search engine, datasheetdir.com, for a link and a mention on this page. I'm happy to oblige. I know how difficult it is to find data sheets for some parts. Their web site seems to be most easily used as a search engine for a specific part number. You can also browse by parts category, but there are so many chips made for almost every function that you'll be overloaded by the selection.
Links Page
Misc: Brad R @ Sunday 31 August 2008 - 07:21:56
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
Misc: Brad R @ Tuesday 17 June 2008 - 07:16:04
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 Tini430 tm, TiniAVR tm, and TiniARM tm. (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.
|