PREFACE TO THE FIRST EDITION:
A TRADITION OF PUBLIC DOMAIN FORTH
Forth was invented by Charles Moore in the 1960's as he developed specialized
tools for various applications. It
was formalized into a programming language for telescope automation while Mr. Moore was with the National
Radio Astronomy Observatory. As
this work was supported by public funds, Forth was born as a public domain software package which followed
telescopes to many different countries.
In 1972 Mr. Moore left NRAO to form FORTH, Inc. in order to market Forth systems and services. Implementations developed in FORTH, Inc.
were proprietary and their usage required license from FORTH, Inc. However, a copy of Forth for PDP-11 was released
to DECUS, the DEC Users Group, which became the only readily available public
domain Forth for many years.
Forth Interest Group was organized in 1978
to encourage the use of Forth on small personal
computers, which gradually became available for individual users. One major effort by Forth Interest Group
was the formation of Forth Implementation Team lead by Bill Ragsdale to build figForth
and put it in the public domain for general distribution. Because figForth was
implemented on many microprocessors based on a single model and released with
complete source listings, it became the de facto standard of Forth on personal computers,
eclipsing polyForth which was by then the main product from FORTH, Inc.
The other major objective of Forth Interest
Group was to establish a standard definition of Forth as a programming language. Forth Standards Team was organized in
1978. It took the Forth-77 Standard
developed by Forth users in Europe and produced Forth-78 Standard. It was very unsatisfactory and was
almost immediately reworked into the Forth-79 Standard which was accepted by
Forth Interest Group for promotion. However, Forth Interest Group also decided
that it would not publish implementations and only encouraged Forth vendors to provided implementations
and support. The only major public
domain Forth supporting Forth-79 Standard was MVP-Forth written by Glen Haydon
and distributed by Mountain View Press.
Forth Standard Team continued the refinement
language and published the Forth-83 Standard in 1983. Again, Forth Interest Group supported
and promoted it, but did not provided any
implementation. Henry Laxen and Mike Perry felt that the Standard could not
spread without a faithful and useful implementation. They implemented a comprehensive model
on 8080, 8086, and 68000 processors with fairly uniform and transparent
interfaces to the CP/M and MS-DOS operating systems. This public domain F83 model found wide
acceptance, especially among IBM PC users after it was listed in the PC-SIG
From 1983 to 1988, personal computers have
made significant progress in memory size and in disk space. The traditional minimalist's approach in
the Forth operating system seems to be inadequate to stay abreast with the
tools and facilities embedded in the current personal computers. It is
necessary that Forth must communicate with the operating system in standard file
formats, and it has to address memory outside of the 64K byte addressing space. These capabilities were included in many
68000 Forth implementations, but not in the PC world due to the segmented architecture
and the handicapped operating system.
F-PC is a collective effort to provide PC users a highly optimized
version of public domain Forth addressing these problems. It allows the user a well integrated environment
to develop and maintain large applications utilizing the memory and storage space generally
available in a mid-range IBM PC/XT/AT and its clones. It is released to public domain with
complete source, following the spirit of figForth and F83, so that users will
have the freedom to tailor it to their specific applications and to build commercial
products from it.
F-PC is a greatly enhanced version of Forth derived from the F83
model for the IBM-PC, XT, or AT developed by Tom Zimmer at Maxtor Corp. A major stepping stone between F-PC and
F83 was the F83Y system produced by Wil Baden, who adopted J. D. Hooper's
separated heads and many other features like interpreted conditionals, full
featured decompiler, etc. Many
other people also contributed to it, including Robert L. Smith, Charles Curley,
and Jerry Modrow, but the major work was done by Tom Zimmer.
In order to release this system for public
usage, it is necessary to provide better and more complete documentation
on the system so that a Forth programmer can pick it up and use the system productively on his own,
without having to have access to Tom Zimmer for support and consultation. A F-PC Working Group was organized to
serve two very specific purposes: to do beta testing on the system to flush out
as many bugs as possible, and to provide user and system documentation so that both
application and system Forth programmers can use the system in isolated (in the
Forth sense) geographic locations.
The F-PC Working Group was very loosely
organized in the Silicon Valley FIG (SVFIG) Chapter, during the chapter meeting
at April 23,
Many Chapter members participated and contributed to this effort. The Chapter also permitted the Working
Group to use the morning FORML sessions in May and June to discuss and work on
F-PC. Dr. C. H. Ting served as the
focus of this Group to coordinate the efforts in documentation. Bug reports, suggestions, and
recommendation were collected and forwarded to Tom Zimmer for consideration.
This Manual is part of the documentation to
be made available with the F-PC system.
It provides information on how to install F-PC, and the most useful
utilities for normal programming activity. It also assumes that the user is
familiar with Forth and DOS, and does not try to include introduction materials. As F-PC retains the look-and-feel of
F83, prior knowledge on F83 will be extremely helpful. The background information can be
obtained from the following sources:
Starting Forth, Leo
Brodie, Prentice Hall.
Programmer's Guide to the IBM-PC, Peter Norton, MicroSoft
Inside F83, C. H. Ting, Offete Enterprises.
We hope that you will find F-PC valuable as
you try to make the best use of the resources in your PC or compatible
computer. We would also like to
know if you succeeded in using it to develop real and interesting applications. The User Contributions section of F-PC
will always be open to new submissions.
We hope that F-PC will provide a common format for users to exchange
code, ideas, and applications, the same way F83 has been over the last five
F-PC has evolved over the last six
months. Tom Zimmer made substantial
modifications and enhancements to it.
However, due to the pressure exerted on him by many users and members in
this Working Group, Tom reluctantly agreed to freeze F-PC at the current Version 2.25. It will not be modified until late next
year so that users can start using it to do applications. Both the User's Manual and the Technical
Reference Manual were updated to this version. Having accomplished its mission, the
F-PC Working Group ceases its existence.
However, technical discussions on F- PC and a very extensive tutorial
lead by Jack Brown have appeared on the Forth Roundtable in the GEnie
Network. F-PC users are encouraged to join the Forth
Roundtable for information, assistance, and possibly bug fixes.
Dr. C. H. Ting
F-PC Working Group
San Mateo, California