Forth Success Stories
This webpage has been translated into the
Greek language
by Maria Grigoriou of NPI
Finder.
This webpage has been translated into the
Bulgarian
language by Fikewazusy Ortindahuem
of Pepebet.com.
This webpage has been translated into the
Russian language by
Leonid Popov of
Pngflare.
This webpage has been translated into the
Urdu language by
Samuel Badree.
This webpage has been translated into the
Sindhi
language by Samuel
Badree.
This webpage has been translated into the
French language by
Lera Domartina.
This webpage has been translated into the
Dutch language by
Elizabeth McCoy.
This webpage has been translated into the
Macedonian language by
Elena Simski from converter.net.
This webpage has been translated into the
Finnish
language by Johannes Hokkanen of
Divafluence.
This webpage has been translated into the
French
language by Jean-Etienne
Bergemer.
This webpage has been translated into the
Turkish language by
Maxwell Edward, of
FA Teknologi.
This webpage has been translated into the
Spanish
language by Anibal Goransky,
a blogger .
This webpage has been translated into the
Uzbek language by
Sherali Niyazova, a student and
amateur blogger .
This webpage has been translated into the
Russian language by
Ruslan Tarasov of
Painting Valley.
This webpage has been translated into the
Hungarian language by
Elana Pavlet of
Science Technology.
This webpage has been translated into the
Estonian
language by Matt
Hadlock.
This webpage has been translated into the
Italian
language by Elena Panicucci of
World Literate.
This webpage has been translated into the
Dutch
language by Arno
Hazecamp.
This webpage has been translated into the
German
language by Philip
Egger.
This webpage has been translated into the
Hindi
language by Jordan Mendez per Mahesh
Varma.
This webpage has been translated into the
Belarussian language by
Translator Team at the
Volunteer Translator Group.
This webpage has been translated into the
Slovakian language
by Branca Fiagic who is a student
studying international relationships at the
University of
Belgrade.
This webpage has been translated into the
Swedish
language by Catherine
Desroches who studies at the Université
Paris-Sorbonne.
This webpage has been translated into the
Belarussian
language by Daniel Cooper of
Boostpack Translations.
This webpage has been translated into the
French
language by Translator
Group of
Best
Reviews Base.
This webpage has been translated into the
Japanese
language by Haruto Anami of
Daily Deals Coupon.
This webpage has been translated into the
German language by
Lukas Schmidt of
Game Period.
This webpage has been translated into the
Portuguese
language by Artur Weber of
homeyou.
This webpage has been translated into the
Irish
language by Ava Flynn, Manager
(Translation Team) at Travel-Ticker.com.
This webpage has been translated into the
Indonesian
language by ChameleonJohn Company and
Jordan Silaen.
This webpage has been translated into the
Ukrainian
language by Sandi Wolfe.
This webpage has been translated into the
Romanian
language by Melomanica.
This webpage has been translated into the
Slovakian language by
Science Blog.
This webpage has been translated into the
Serbo-Croatian
language by Web Geeks.
This webpage has been translated into the
Belarussian language
by Vicky Rotarova.
BAD
This webpage has been translated into the
Russian
language by Alisa Bagrii
at Everycloud.
Forth can be found in:
- aerospace (including the space shuttle)
- embedded systems
- Open Firmware / Open Boot / One Laptop per Child
- astronomy
- oceanography
- electrical engineering
- resource-scarce applications
- mathematics
- new and experimental hardware platforms
- Windows, Mac, DOS, Unix, and standalones
- microcontrollers
- ...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
archived
here. |
|
Application Notes at
FORTH, Inc. |
|
|
Music Applications
Forth and Computer Music at the Technology in Music and
The Related Arts Department (TIMARA) of Oberlin Conservatory -
04/28/2006
Entire
article
TalberTronics -
Projects by John Talbert
1984
The
prototype
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.
1987
The
final version
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
programs.
1988
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
utility words.
1993
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
Roland
PG1000 slider box to put out any type of MIDI signal.
- Chris Passauer
|
Commercial Applications
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
mountains."
"Fun times."
- 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
pdf file
- Pace 400 brochure - 3.52 Mb
pdf file
- Scott Matus
- smartus -at- barclaycardus.com
|
Movie Crane - 12/31/2009
"I did an addition for
Panavision's
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:
The
Tortuous Path of Early Programming
Check out this Enchanted Learning
webpage
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 -
01/15/2004
"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
|
Ztar
MIDI Controller
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
strings.
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.
|
Tektronix
WAN/LAN Protocol Analyzer
This product is a sophisticated database application using
Forth.
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
|
Projects
-
Boeing
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.
Montgomery
|
Research Applications
-
Rehabilitation Applications
Alexis
Wheelchair
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
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
speech-language therapy.
|
Ultrasonic Head
Controlled Wheelchair
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.
|
Ralph
Fingerspelling Hand
This computer-controlled electromechanical fingerspelling
hand offers deaf-blind individuals improved access to computers and
communication devices in addition to person-to-person conversations.
|
Forth Applications in
Devices Serving Person with Disabilities - Proceeedings of the 1992 Rochest
Forth Conference - David L. Jaffe
"In this paper, I discuss hoe Forth's features are being
used in devices that serve disabled individuals with four specific examples
drawn from my research and that of my colleagues."
|
Please submit Forth success stories and commercial applications
to the FIG webmaster.
FIG
Home page |