Forth Version 1 Runs Again

Some people love Forth and some people hate it. However, you usually think of Forth as something running on a little computer such as an 8-bit microcomputer. When [Chuck Moore] developed the system back in the 1960s though, it ran on an IBM 1130. [Carl Claunch] took a scanned listing of the original code and got it running once again.

There are actually a few blog posts with details. Luckily, Forth is pretty simple — especially the core parts. However, there are a lot of differences from a modern Forth. The most obvious is that the dot keyword starts a definition and does not print the top of stack. However, internal details are different too — the system, for example, stores characters in packed EBCDIC — an ASCII-like code used by IBM computers.

Oddly, [Moore] used Forth to write code that would allow the big computer to help design carpets, although the project was ultimately unsuccessful. However, the language, which grew from [Moore’s] private card deck library, was much easier to use than the machine’s preferred FORTRAN.

The group working on this has released the original scans and promises a machine-readable version soon. Don’t have an IBM 1130 to run it on? Sure you do.

If you want something more modern and smaller, you have a choice of Hackaday-approved projects. For instance, Mecrisp-Stellaris Forth on an ARM. Or, go cloud, and run it in your browser.

22 thoughts on “Forth Version 1 Runs Again

      1. The FORTRAN compiler and assembler ran on the machine, loaded from a disk pack drive (IBM 1311 or 2311). I did a lot of FORTRAN on one of these at what was then called Roswell Park Memorial Institute in Buffalo NY in the summer of 1965, when I was a junior in high school. I was working for the Ultracentrifuge Lab in a work-study program, plotting simulation results to a Calcomp 36″ wide plotter. Except for the EBCDIC (which I didn’t have to work with directly :-) it was a great computer!

  1. ” However, the language, which grew from [Moore’s] private card deck library, was much easier to use than the machine’s preferred FORTRAN.”

    Choosy machines chose FORTRAN.

    1. Since discovering Mecrisp Forth for the STM32 ARM chips (and jcw’s excellent libraries) about two years ago, I’ve been using it for 95% (? total guess) of my microcontrollering needs.

      An interactive system, with easy chip-level hardware access and simple multitasking are killer features that make the whole “everything’s backwards” feeling worth getting over. Going back to C when necessary is oddly frustrating, even though it’s my native language.

      And while it’s kinda fun to play around with Forth online in simulators, its real virtue is that it’s not much of a language at all, and doesn’t get in your way when you actually want to _do stuff_. Get the requisite $6 of hardware, download a Forth (shameless plug!) and learn on the job. Hook up some hardware and get hacking.

    1. I worked with a guy who designed a system that drove one of the first 128 nozzle carpet printers. IMSAI 8080, CP/M (of course), and 8 custom S-100 cards with 16 PWM channels. Never saw the printer in action in person, but did see some 8mm film he took of it :) Pretty cutting edge stuff back then.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.