Forth Success Stories
This webpage has been translated into the
Slovakian language by
This webpage has been translated into the
language by Web Geeks.
This webpage has been translated into the
by Vicky Rotarova.
Forth can be found in:
- aerospace (including the space shuttle)
- embedded systems
- Open Firmware / Open Boot / One Laptop per Child
- electrical engineering
- resource-scarce applications
- new and experimental hardware platforms
- Windows, Mac, DOS, Unix, and standalones
- ...and many others!
Space-Related Applications of Forth was originally
compiled by now-retired NASA scientist James Rash and posted at
http://forth.gsfc.nasa.gov/. It has since been removed from the website, but is
Application Notes at
Forth and Computer Music at the Technology in Music and
The Related Arts Department (TIMARA) of Oberlin Conservatory -
Projects by John Talbert
of the MIDI Horn is designed and built. This is a wind controller with a
pressure sensor, 8 switches, and several sliders/pedals. The controller data is
fed to a single board Z8 microcomputer that interprets the data and converts it
to MIDI control signals. The Forth language was used for programming the
device as BASIC proved to be too slow.
of the MIDI Horn is built. This is a MIDI controller instrument based on a
single board microcomputer and programmed in the Forth programming
language. Gary Nelson takes the MIDI Horn on the road with over 200
performances around the world. He uses the MIDI Horn as the performance
interface part of a 'hyperinstrument' consisting of a Macintosh computer, a set
of digital synthesizers, and the software (Max/MSP) linking them all together.
In a 'hyperinstrument' the controller does not necessarily play 'notes', it
sends performance signals acted upon by a computer program composed to control
how the music is played out.
After working with Forth Programming Language on
the MIDI Horn I am impressed with its speed, compactness, and ease of use. The
Forth language consists of a dictionary of words (subroutines) and
several stacks for storing the subroutine data. Programming in Forth is
a matter of building new 'words' by combining previously built words that are
already in the dictionary, thus creating a hierarchy of words. The higher-level
words can easily be tested by running their lower level components. Lower level
words that deal directly with the processor hardware are easily built, even
using assembly code if that is deemed necessary for speed.
The Ohio Scientific Microcomputer is upgraded in 1987 with
a Forth-based system (RSC Forth). The language is significantly extended
with words that deal with the Hybrid Synthesizer, MIDI input and output, a
timer device, a new SID synthesizer chip, and all the devices used to control
the analog synthesizers such as control voltage DACs and ADCs, pulse detectors
and generators. The Hybrid Synthesizer interface is rebuilt with new waveform
generators and timer control. Floppy drives are installed for user storage of
Analog synthesizer circuitry reaches a certain maturity
with the availability of chips such as Solid State Music chips and the Curtis
music chips. I use these to design and build an octal Voltage Controlled
Amplifier (VCA), a quad Voltage Controlled Filter (VCF), an Aural Exciter with
all its components available, and an Analog Delay Line box. All of these are
controllable with the Ohio Scientific Micro using the extended Forth
Work is started on designing and building control voltage
to MIDI devices. One project uses an 8088 microprocessor with a ROM based
Forth system controlling 8 bit ADCs. Another project is to reprogram a
PG1000 slider box to put out any type of MIDI signal.
- Chris Passauer
Scanning Tunneling Microscope - 05/27/2011
"I remember way back in the late '80s how cool it was
getting a printout of an array of carbon atoms from the first PC table-top
Scanning Tunneling Microscope which used as its controller our PC4000 PC
plug-in board which used as its microprocessor the Novix NC4000 Forth
chip. This STM was one of Silicon
Composers' early OEM successes. Somewhere I think I still have the
Forth low-level code used to control the xyz-position microscope needle
head which would literally fly over the carbon sample. In early pre-customer
versions of the system, the head would occasionally crash into the carbon
- George Nicol
- george -at- inscenes.com
Engine Analyzers - 10/21/2010
"In 1986 I worked for Bear Automotive in Brookfield, WI
that was using Forth to program engine analyzers (Pre-OBD). They were
working with Mercedes-Benz back then."
"I have attached some documentation on the product that
was build around Forth software. The machine I worked on was the PACE 200/400
model analyzer hardware."
"I worked for the company in 1986-1987 just before their
move from Brookfield to New Berlin, WI in that latter year. In May of 1988 the
company was purchased from SPX Corporation for $66 Million."
"There is still a refurbishing company called
Team Bear USA. I have no affiliation
with the company."
- Bear 400 photo
- Bear 3000 photo
- Pace 200 brochure - 313 Kb
- Pace 400 brochure - 3.52 Mb
- Scott Matus
- smartus -at- barclaycardus.com
Movie Crane - 12/31/2009
"I did an addition for
Movie Crane called Back Pan Plus. It helps the camera operator by taking
out the movements of the grips, and keeps the camera pointing on the actor. The
total programming time was only a few weeks. It's since been used in many
movies, and one is built in permanently on Oprah's set. Forth keeps
winning impressive victories everywhere it is embraced."
- Randy M. Dumse
- New Micros
- rmdumse -at- newmicros.com
- rmd -at- newmicros.com
Pulmonary Application - 11/20/2004
"A one-off hospital application in Forth has been
running continuously in the Pulmonary Division of Cedars-Sinai Medical Center
since the late '70s."
"The core applications were developed by FORTH, Inc. for
the PDP 11/60 with only 16K of memory. Chuck Moore and Beth Rather apparently
spent many a long night hunched over Tektronix terminals, developing the tiny
applications. One was a real-time data acquisition system for Pulmonary
Function Testing, and the other was a database for Arterial Blood Gas data. The
Forth kernel was less than 1K. When they left, the applications were
functional, although the system did crash every 20 minutes or so."
"I've been working with this system since 1981, at which
time a billing application was also up, and the rudiments of an order entry
system for Respiratory Therapy was being developed. The latter would have been
a 24x7 application, requiring a much more stable OS. After reverse-engineering
the kernel, I discovered a few bugs that had been causing the constant crashes.
I wrote a kernel generator so that I could fix the bugs and add some needed
capabilities, and rewrote the multi-programmer to be more efficient and stable.
We were on our way. Until a few years ago, there were always 2-3 programmers on
staff, just to develop and maintain applications."
"Over the years, applications were added and discarded,
including a real-time breath-by-breath exercise testing system, and various
database applications. It migrated to a PDP 11/84 in 1987 and then the
application source was rewritten for LMI's UR/Forth on a PC in 1998."
"Today the LMI Forth environment runs in a DOS box on a
Windows 98SE PC, interfacing to users, printer, barcode scanners, lab equipment
and other computers through 35 serial ports. It maintains HL7 links with other
hospital systems, sending lab data and receiving Admission/Discharge/Transfer
information. One port is fed by other hospital systems as a printer queue, and
hundreds of financial and clinical reports are "printed" daily to this queue,
where the Forth system parses them to populate numerous databases. This gives
us a unique ability to automatically reconcile information that other
departments must do by hand from printed reports."
"Today the main applications are all database
applications; the real-time applications having been replaced by turnkey
systems that connect serially. The main applications are RT order entry,
billing, PFT/Exercise data and ABG lab data. There are over 5,000 blocks of
active Forth source code - perhaps 50,000 lines of code. We have 2GB of
mostly binary data, comprising lab results, orders and financial data, some
going back to the 1970s."
"I am now the manager of the Pulmonary Medicine department
and the only person still supporting the Forth system. It is still in
constant flux, adding capabilities and adapting to patient care and efficiency
requirements. Hospitals are a regulatory and financial challenge today. Few
operate in the black, and all have difficulty keeping up with rapidly changing
patient care technology and regulations. Our system is unique in that it costs
next to nothing to operate, yet we have total control over all the
applications, and, owing to the ease and power of Forth programming, can
adapt on short notice."
- George Applegate
- applegat -at-ix.netcom.com
Argo submersible vehicle
Argos's ensemble of sonar, lights and cameras was
orchestrated by an array of computers that each programmed in a different
computer language. The computer on the unmanned Argo itself was programmed in
Forth, a concise but versatile language originally designed to regulate
movement of telescopes and also used to control devices and processes ranging
from heart monitors to special-effects video cameras. The computer on the Knorr
was programmed in C, a powerful but rather cryptic language capable of
precisely specifying computer operations. The telemetry system at either end of
the finger thick coax cable connecting the vessels, which in effect enabled
their computers to talk to each other, was programmed in a third, rudimentary
tongue known as assembly language.
Forth was the only high-level language that could
be used on the submersible Argo's computer.
- Exerpted from:
Tortuous Path of Early Programming
Check out this Enchanted Learning
for information on Robert D. Ballard, Undersea Explorer
A one line reference to this Forth
application can be found in the 1985 entry on Byte's
A Brief History of
Programming Languages: "Forth controls the submersible sled that
locates the wreck of the Titanic"
BART Parking Lot Controllers by AM Research -
"The BART parking lot controllers are running an early
version of amrFORTH on an 80C552 microcontroller. Done almost 10 years ago,
you'll see this machine as a stainless steel box inside the station after you
purchase your ticket and enter the turnstile."
"You must remember your parking stall number then enter
that into the machine. A distributed database contains all the currently used
parking stalls. Security punches a special code and gets a printout of
ostensibly empty stalls, any cars in which are ticketed. This prevents BART
parking lots from being overfilled with shoppers while still making parking
accessable to patrons."
- Albert Lee Mitchell
The Starr Labs Ztar is a guitar-like controller for MIDI
musical synthesizers. Unlike devices which attempt to derive a MIDI control
stream from the audio output of a conventional guitar, the Ztar is a fully
digital instrument with an internal microprocessor and sensors for frets and
Hundreds of sensors must be sampled and processed in real
time to generate a MIDI control stream, and to avoid timing discrepancies that
would be painfully noticeable in a musical performance. The Ztar uses a Zilog
Super8 microprocessor, programmed in a mixture of Forth and assembler,
to satisfy these requirements.
WAN/LAN Protocol Analyzer
This product is a sophisticated database application using
Also see the following links:
Dorado Systems - 01/15/2004
"Here's a thumbnail of Forth and Dorado Systems. We sold
650 energy controllers to Lucky Markets done in Forth, several thousand
access control panels and tens of thousands of magnetic stripe card readers
(4,000 alone to Denver International Airport)."
"All products were done in Forth, mostly 68HC11, in
Forth assembler and some larger products in energy control, card reader
encoding, etc. in high level Forth. Some products ran on PCs, some 6502s for
68HC11 imbedded systems. Andrew McKewan was our guru as I phased out of
programming products in the late 80s."
- Bill Ragsdale
Boeing 777 Avionics Systems
"Designed and coded embedded Forth kernels to run
on Boeing 777 avionics systems. The Forthkernels are used for
verification of engineering design, verification of manufacturing, and
debugging of failed hardware units. The kernel was written in assembly language
for the 68030, 68332, and 80960 microprocessors. I taught introductory
Forth programming classes to the hardware design engineers, and assisted
with problems in their Forth code. Development was done on a VAX
computer using CMS (Code Management System) to track source code development.
Debug and integration of the kernel was done using In-Circuit-Emulators."
- Robert Blythe
Functional Test Kernels
"Was responsible for embedding Functional Test Kernels
(FTK) in all CAS/CMS 777 LRUs. The FTK is a Forth interpreter resident
on all Boeing 777 computer boards. Task also required incorporating new
Forth features and new hardware for 68xxx series."
- Dennis R.
Alexis was an innovative electric wheelchair using a
"wheels within wheels" design. It is unique in that it can turn in its own
footprint and move sideways. The VA Palo Alto Heath Care System's Rehab R&D
Center licensed Intex Industries to make Alexis commercially available in 1987,
and Intex made 40 pre-production units for field trials in the San Antonio
area. During subsequent redesign efforts, the company filed for bankruptcy,
preventing further commercialization at this time.
Lingraphica is a portable assistive and therapeutic
communication device for people with aphasia from stroke or other brain injury.
It was developed under a VA Merit Review project at the Rehab R&D Center in
1987-1989 and commercialized in 1990 under the Technology Transfer Act. In
1996, the parent company, Lingraphicare America, redirected its efforts from
selling medical devices to providing clinical language and speech therapy
services to adults with aphasia. Their services employing Lingraphica report
greater rates of improvement and better ultimate outcomes than traditional
This interface for a motorized wheelchair permits
individuals with quadriplegia to control the wheelchair's speed and direction
by tilting their head. in the desired direction of travel.
This computer-controlled electromechanical fingerspelling
hand offers deaf-blind individuals improved access to computers and
communication devices in addition to person-to-person conversations.
Please submit Forth success stories and commercial applications
to the FIG webmaster.