Forth Success Stories

FIG stuff


This webpage has been translated into the Serbo-Croatian language by Web Geeks.

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


Please submit Forth success stories and commercial applications to the FIG webmaster.


<--  FIG Home page