FROM THE U.S.A. call 901-313-4312
UK time is now:

VFX Forth for Windows

 

VFX Forth logo

Last update: 7 March 2022
licence
downloads
shop and support

Features


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.

CCS Candy Application CCS Candy application

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.

  • Browser
  • Debug Console
  • Breakpoints
  • State Monitor
  • Calculator
  • DLL scanner
  • ASCII chart
  • RC file stripper
  • Win 32 API help
  • State save/restore

Click here for more details.

Console and Breakpoint Manager Console and Breakpoint Manager

DFX debugger


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.

  • Breakpoints
  • 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


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.

Guigen - simple dialog box Simple dialog box

Guigen - grid control in a window Grid control in a window

GTK+ Cross Platform GUI


It’s cross platform, so it’s one of the common features.

GTK + Cross Platform GUI

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 );

Windows Constants


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
  • DDE
  • … 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.

System Requirements:

  • 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.

licence
downloads
shop and support

Courses, Consultancy


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

licence
downloads
shop and support