PF11 is an ANS Forth software designed for the 68HC11 microcontroller. It provides a Forth implementation that allows users to efficiently develop applications for this specific hardware.
The software is compliant with the ANS Forth specification, implementing almost all of the core, extended core, double-number, exception, programming tools, and string word sets - making PF11 a versatile tool for developers. PF11 also fits into less than 28K of RAM, offering experimentation opportunities in a 68HC11 system with just 32K of RAM.
PF11 can also co-exist with BUFFALO in 32K of ROM, allowing experimentation on existing BUFFALO-based hardware without giving up existing infrastructure. The software is free, licensed under the terms of the GNU General Public License.
Installation of PF11 is easy. If you don't want to recompile PF11 from source, you can simply download the provided S-record files and start using PF11 right away. There are three files to download: pf11ram.s19, pf11rom.s19, or pf11buffalo.s19.
PF11ram.s19, which locates between 0x1040 and 0x7FFF in external RAM, is perfect for those who want to try things out and not have to program ROM/EPROM. PF11rom.s19 is compiled to reside between 0x8000 to 0xB5F7 and 0xB800 to 0xFFFF in external ROM, while PF11buffalo.s19 is like PF11rom.s19 but additionally contains BUFFALO version 3.4 programmed from 0xE000 through 0xFFFF - the reset vector is set to point to BUFFALO, which allows users to start PF11 from within BUFFALO by typing 'go 8000'.
For those who don't satisfy with the above, recompiling PF11 from source is necessary. The PF11 distribution also comes with pf11.elf, a file that can be loaded into the GDB 68HC11 simulator where you can try PF11 without any 68HC11 hardware.
One final note: PF11 can be configured to reset the computer-operating-properly (COP) watchdog of the 68HC11 (if USE_COP is defined in config.h). Note that the feature has not been fully tested. The COP watchdog can be disabled by setting the NOCOP bit (bit 2) of the CONFIG register (location 0x103F).
Version 1.0: N/A