A Forth compiler for Microchip PIC 18Fxxx
"J’ai vraiment besoin d’un servo"
PinGuin, April 23rd 2005, preparation of the French robotics cup
rforth1 (Robotics Forth version 1) is a Forth compiler for PIC 18Fxxx microcontrollers. The main characteristics are:
- Native compilation (no virtual machine)
- 16 bits cells
- Optimized generated code
*/scaling operator with 32 bits intermediate result
- Postfix and prefix integrated assembler
- Written in Python
rforth1 was inspired by two other compilers:
- PicForth, a Forth compiler for PIC16Fxxx also written by Samuel Tardieu
- Pic18Forth, a Forth compiler for PIC18Fxxx, using a virtual machine, written by David McNab.
A tutorial (in French), authored by Jean-Baptiste Mayer, is online on the Telecom Robotics site.
I really want to thank the following people:
- Pablo de Oliveira Castro for being the first pre-alpha tester of rforth1
- Sébastien Gruchet for being the second pre-alpha tester of rforth1
- David McNab for his Pic18Forth compiler
Getting rforth1You can either download a packaged version, or get the latest development version of rforth1.
Packaged version 0.7You can download rforth1 0.7 for Unix, distributed under the GPL.
Development versionYou can get the current development version of rforth1 using git:
This will create a
git clone https://github.com/samueltardieu/rforth1.git
rforth1directory in which you will be able to record your own changes. You can also browse the rforth1 repository on GitHub.
Contributing to rforth1
Reporting bugs and asking for featuresIf you find a bug or have an idea for a new feature, you might consider adding a new issue. The more precise you will be in your description, the more useful it will be.
Patches are gladly accepted from their original author. Along with any patches, please state that the patch is your original work and that you license the work to the rforth1 project under a license compatible with the current one (GPL).
To propose a patch, you may fork the rforth1 repository on GitHub, and issue a pull request. You may also send patches and pull requests by email.