VFX Forth for Windows
Last update: 7 March 2022
shop and support
- VFX Forth 32 and 64 for Windows now available – Community licence
- Studio development environment – interactive development tools with source.
- DFX debugger – interactive single step debugger with source .
- Windows Resource compiler – easy user interfaces from RC files.
- GUIgen – easy user interfaces in the Forth style.
- GTK+ Cross Platform GUI
- Examples and libraries.
- Compatible with Window 7, 8 and 10.
- Compatibility with other MPE Products.
- Support services – standard, extended and advanced technical support.
- Courses and consultancy – start up courses or consultancy using VFX Forth for Windows.
- Common features in all VFX Forth systems
- See also – VFX Forth for Mac OS X
- See also – VFX Forth for x86 Linux
- See also – VFX Forth for ARM Linux
Visit our papers page to download our VFX Flier and benchmark code and results.
Click here for the VFX Forth v4 change history; or here for change notes for earlier versions.
Get the free download of the evaluation version of VFX Forth. No time out!
For the licence terms, see the licence.
Studio Development Environment
The Developer Studio IDE is provided as full source code, and includes features such as the dictionary browser which allows you to find, decompile, and locate the source code of any word in your application, or even in the VFX Forth kernel. The Studio IDE provides user definable hooks to any text editor for editing or source location. You can add your own extensions to the Studio IDE for improved productivity.
- Debug Console
- State Monitor
- DLL scanner
- ASCII chart
- RC file stripper
- Win 32 API help
- State save/restore
Click here for more details.
Provided with the Studio IDE is the DFX debugger, featuring single stepping, tracing, instruction logging and watchpoints at the assembler or Forth source code levels. Like the rest of the Studio IDE, DFX is provided as source code.
- Register display
- Assembler view
- Instruction trace
- Stack displays
- High level view
- LOCATE and XREF hooks
- Memory views
- State save/restore
- Debug Forth Interpreter in a separate thread
- “Narrow down” mode for rapid fault location
Click here for more details.
Resource File Compiler
VFX Forth includes a resource file compiler that permits the use of standard resource files. Unlike other applications, these files are compiled directly as part of the normal compilation process, and can be edited by hand or by a resource editor. VFX Forth supports all the standard Windows controls. The following code is taken from the VFX Forth front end.
#define IDW_FORTHWINDOW $3801 IDW_FORTHWINDOW WINDOW 0, 0, 100, 100 BEGIN Caption "Forth Console" Style WS_CHILD | WS_VISIBLE | WS_CAPTION | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX ExStyle WS_EX_MDICHILD ClassStyle CS_HREDRAW | CS_VREDRAW Icon IDI_APPLICATION Cursor IDC_ARROW Brush WHITE_BRUSH Menu NULL WndProc ForthWindowProc END
The Breakpoint Manager illustrated above was created with the resource compiler
GUIgen is a way of simplifying construction of GUI interfaces in a “Forth-like” manner. It has been used for several years to build production user interfaces. A number of features have emerged which are generally and genuinely useful. These are (in no particular order):
- Window classes, windows, dialog boxes and controls are each defined in a similar way.
- The difference between “modal” and “modeless” dialog boxes is largely hidden.
- All Windows controls are “automatically” subclassed which allows you to add control-specific message handlers simply without dealing with subclassing in Windows.
- New window controls can be defined extremely easily.
- Controls can be “placed within” dialog boxes as is usual but in addition they can be placed within normal windows and within other controls.
- Each window, dialog box and control has its own private data area.
- Words which are designed to be executed inside a WndProc procedure can be tested at the keyboard.
The following code is for a dialog box and is taken from one of the example files.
DialogBox: TextDlg 50 10 110 50 Position&Size Modal Caption "Enter Name" WS_VISIBLE Style WS_CAPTION WS_POPUP or Style+ WS_BORDER Style+ 8 100 0 Font "MS Sans Serif" 5 5 100 12 IDC_EditBox z" Hello" EditBox 10 25 40 15 IDC_OK z" &OK" PushButton 60 25 40 15 IDC_CANCEL z" &Cancel" PushButton WM_INITDIALOG does TB-DoInit WM_COMMAND does TB-DoCommand end-dialog
GUIgen is documented in a separate manual, which is currently over 160 pages.
Simple dialog box
GTK+ Cross Platform GUI
It’s cross platform, so it’s one of the common features.
Windows API Access
VFX Forth can access all the standard Windows API calls, as well as functions in any other DLLs. The function interface allows API calls to be defined by cut and paste from other language reference manuals, for example:
EXTERN: int PASCAL CreateDialogIndirectParam( HINSTANCE, void *,HWND, WNDPROC, LPARAM ); EXTERN: int PASCAL SetWindowText( HANDLE, LPSTR ); EXTERN: HANDLE PASCAL GetDlgItem( HANDLE, int );
VFX Forth incorporates a support DLL that provides development-time access to over 28,000 named Windows constants without impacting the size of the application. Windows constants such as GENERIC_READ are treated as literals and are fully optimised.
Examples and Libraries
VFX Forth comes with a wide range of application examples including versions of the classic examples from Charles Petzold’s book “Programming Windows”. Examples and libraries include:
- ForthEd2 MDI editor
- Studio IDE source code
- DFX debugger source code
- FCOM – ActiveX/Com interface
- FTP interface
- Web server
- Email sender
- DLL generation
- … and much more
Examples common to VFX Forth, regardless of operating system, include this list
Powerful Testing and Debugging Aids
VFX Forth includes extensive programming aids, including the ability to run your application in one or more windows while you monitor its functions using a separate State Monitor window and the Studio debugger.
Tools such as the Dictionary Browser and online help make programming a breeze. The Dictionary Browser lets you call up any of the hundreds of functions supplied with VFX Forth or added in your application, and either decompile it or dump its memory area. On-line help documents all standard VFX Forth words using HTML help. You can modify these and produce your own help files, which can be added to the Studio IDE.
Compatible with Windows 7, 8, 10
VFX Forth for Windows is a 32-bit Forth implementation for 32 and 64 bit versions of Windows. VFX Forth supports access to all third-party 32 bit DLLs.
- Any version of Windows 7, 8, 10.
How many generations?
We have had to abandon support for Windows 95/98 and Windows 2000. We no longer have PCs or Virtual Machines with these systems. We can just about cope with three generations of the operating system – anything more is impossible to guarantee.
A number of our clients have made similar decisions. Defining Windows 7 as the lowest supported system seems to be a common decision. We do not do anything deliberate to break operation on Windows XP or Vista, but if a new feature will not work on XP or Vista, that’s just too bad.
shop and support
MPE can provide start up courses or consultancy using VFX Forth for Windows. The MPE course “Programming Windows with VFX Forth” is for VFX Forth, “Embedded Software for Hardware Engineers” covers cross compiling, and “Architectural Introduction to Forth” is a Forth conversion course. Contact MPE to find out more.
Go to the pricelist page