What's New at MPE?
Last updated: 4 May 2016
VFX Forth version 4.7
There are new library interfaces to libcurl, libiconv, SQLite3 and zlib. Additional notations have been added to the shared library interface to ease porting of code from other Forth systems.
See our benchmarks.
See the release notes.
VFX Forth for Windows
Download the latest free trial version.
fJACK Audio interface
"VfxForth is the most fully featured FORTH I've ever worked with. This will be a fun project with lots of tools to work with."
"I know a lot of compilers are free but speaking freely, this is one of the best darn things I've spent money on."
"GUIgen is the best and most useful bit of code I've seen in a very long time." More about GUIgen
"I just wanted to write and congratulate you on your VFX Forth. What a wonderful system you folks have developed! I recently downloaded the evaluation version of VFX and rewrote a Computational Fluid Dynamics simulation that I had originally written for xxxxx. What a difference! Under xxxxx, a single run of the simulation takes over an hour on my computer. Under VFX, the same simulation completes in less than 4 minutes."
"I am actually VERY impressed with VFX Forth for Windows's code generation ... you have a fantastic product."
VFX Forth for Mac OS X
VFX Forth for Mac OS X is built from the same code base as VFX Forth for Linux, and includes the same VFX code generator and other tools. There is direct support for Mach-O executable file generation and there is access to all functions in shared libraries such as libSystem or frameworks such as Carbon and Cocoa. See the release notes.
A customer said:
"Besides the amazing optimizing compiler, I love the DocGen documentation system. The easy C interfacing and Genio driver architecture have also been key for my project.
VFX Forth for x86 Linux
fJACK Audio interface
VFX Forth for Linux is built from the same code base as VFX Forth for Windows, and includes the same VFX code generator and other tools. There is direct support for ELF executable file generation and access to all functions in shared libraries such as libc is available. See the release notes.
"I am in awe of how fast VFX Linux Forth is. My experience is in the distant past with ... and more recently G... so I am not used to the optimized code produced by VFX. Very nice!"
" ... impressed by the features of the VFX, and the fact that you have a *REAL* manual."
Free downloads of the evaluation version are available from the Southampton server. Login as "public" with a blank password. The 32 bit VFX Forth for Linux version is available in rpm and deb packages for 32 bit and 64 bit Linux variants, and a tarball. VFX Forth for Linux is suitable for all x86 32 and 64 bit Linux distributions.
The paid-for versions (Standard, Developer and Mission editions) include kernels for the 386/486 class CPUs used by many embedded x86 systems. VFX Forth for Linux runs very well on lightweight systems such as the Ebox2300 or 3300 family with 300MHz or 1GHz CPUs.
VFX Forth for ARM Linux
It's just the same as the x86 Linux, except that the assembler, disassembler and VFX code generator target the ARM. It works fine on all versions of ARM Linux that use the EABI interface (that's nearly all of them these days), including those for the Raspberry Pi and the Beaglebone Black. Includes a direct GPIO access example for the Raspberry Pi with a bit toggle rate of about 10 MHz using the generic GPIO functions, and somewhat faster using functions dedicated to the peripheral pin.
VFX Forth for DOS
VFX Forth for DOS is built from the same source tree as VFX Forth for Windows, and includes the same VFX code generator, graphics and other tools. VFX Forth for DOS is mainly used for embedded applications. The PowerNet TCP/IP stack is available. For more details see our PowerNet page.
The version 4 releases are available with the same pricing as VFX Forth for Windows. Contact us for further details.
See the release notes.
"I continue to be astonished at the quantum leap the VFX software suite has taken from ProForth. It's been difficult to make the right choices during the conversion, without over-indulging, like a kid in the sweet shop not wanting to miss anything that could be potentially delicious."
Embedded systems tools
Forth 7 cross compiler and targets
Professional version includes Mixed Language Programming with the SockPuppet API
Professional version includes PowerNet
Version 7 of the MPE Forth cross compiler produces over 500 kb of binary code per second. There are many detail improvements to the compilers and the target code.
The first major item for users of 32 bit targets is the USB client interface. Your embedded system can be a memory stick or a virtual COM port or both (composite device). The code has been structured so that the hardware drivers are independent of the USB core layer and the class layer. Version 2 supports DMA operation for increased speed and reduced interrupt overhead.
The Mass Storage Class (memory stick) and Communications Device Class (virtual serial port) drivers require no installation of additional operating system drivers. Sample INF files are provided for Windows. The code has been tested with Windows, Linux and Mac OSX.
The second major item for users of 32 bit targets is the FAT filing system supporting removable media such as SD/MMC cards through SPI, CompactFlash and USB memory sticks. FAT 12, 16, and 32 are supported, auto-detecting at initialisation.
The final major item for users of 32 bit targets is the PowerNet v5 TCP/IP networking stack - now included as part of the cross compiler Professional edition. FTP, HTTP and Telnet servers are included. DHCP, SNTP and DNS clients allow more automatic configuration at powerup. A set of client-side service examples ease talking to remote web sites. Maintenance and production configuration tools are provided to reduce setup costs. PowerNet is strong enough to be used on internet-facing sites with no firewall or other security measures. For more details see our PowerNet page.
The ARM/Cortex compilers include switches in the code generator for the Cortex-M0/M1/M3/M4 devices. Plenty of target boards are supported. New drivers are available including SPI and 4 bit SD card for the FAT filing system.
The Windows, Linux and Mac OS X hosted Forth 7 Cross Compilers provide a complete interactive development system for embedded targets. MPE's VFX optimising code generators are part of most version 7 compilers, producing excellent code quality and density. Customer comments include "Wow!" and "How do you do that?". As always, floating point, multi-tasking, full target source code, manuals and technical support are included as part of the package. Most compilers can be supplied with evaluation boards and prepackaged software configurations. For a complete list of targets, please visit our Forth 7 page.
"You've still got the best compiler available for the best embedded language."
"My co-workers kept asking, "how can you do that?". I tell them it is the good tool, they think I'm good, too bad I don't use the C compiler!"
"Wow, your documentation is the best I've seen for any Forth system."
"I'm impressed with the VFX code generator!! Did not see any reason to re-code words in assembly."
"... cross compiler has proven to be an excellent tool, thanks again to you and your staff for a product well done."
The CAN fieldbus is popular in many industries requiring high reliability. This implementation for Forth 6 compilers was originally developed for railway control systems, and is released as a cross compiler extension. Please contact us directly for more information.
Previous compiler versions
We are aware that embedded systems can have extremely long development and production lives. Consequently, we make previous compiler versions available where there is no direct upgrade path. See legacy compilers; see the pricelist.
The RTX-2000 and RTX-2010 CPUs from Intersil were dual stack CPUs with fast and deterministic real time behaviour, but are no longer available. Now the significantly faster RTXcore is available for incorporation into FPGAs. In a Xilinx Spartan 2E, the VHDL clean-room implementation gives twice the original performance at lower cost, and includes an on-chip UART. The current software development tools work unchanged.
Boards and Hardware
MPE LPC2468 PowerBoard
Designed to supply a computing core for industrial applications, this PowerBoard provides all the standard "computer stuff" so that you can concentrate on the I/O handling. Stackable and robust.