Charles Moore developed Forth and ported it to a wide range of machines. However, one of the earliest ports was to an H316. The ACM article (reproduced on Forth Inc.'s website) on the evolution of Forth states that:
"Moore developed the first complete, stand-alone implementation of Forth in 1971 for the 11-meter radio telescope operated by the National Radio Astronomy Observatory (NRAO) at Kitt Peak, Arizona. This system ran on two early minicomputers (a 16 KB DDP-116 and a 32 KB H316) joined by a serial link."
However, this original H316/DDP-116 Forth seems to have been lost - certainly I couldn't find anyone with a Forth for these machines. (I know that the DDP-116 installation from Kitt Peak was very recently rescued and is now in the hands of serious computer collectors - so perhaps that original Forth will resurface?) With Forth's early development being tied up with Series 16 machines, I thought it was a shame that there was no Forth available - so I decided to write one.
I wanted an early Forth - something similar to Moore's Forth - but I also wanted something that was at least somewhat standardized. It seemed to me that the right thing was to port F.I.G. Forth. The Forth Interest Group produced a series of Forth ports for a number of minicomputers and microprocessors in about 1980. F.I.G. Forth assumes that a disk system is available, but the disk system isn't so totally entwined that it would be difficult to work without one. This is important since none of my machines has a disk - they are all teletype and papertape, though some Series 16 installations did have disks.
The Forth presented here therefore has no real historical significance - it is just the product of a recent retro-computing project. It's available here in case anyone else wants to play. The code is not well tested (yet) so there are probably bugs in there to be found yet. In addition I've not implemented disk I/O yet, nor some of the optional packages like an editor and assembler that would have been on a disk image.
This Forth has several flags controlling conditional assembly. It can be configured to use the High Speed Arithmetic option, or conversely to use software routines for multiply and divide. Similarly it can be configured to use extended addressing, or not. In the minimum configuration the basic forth system, without disk routines, requires just over 3K words, and will therefore run on the most basic 4K machine. On larger machines it will use all available core.
|Source code (text)
|Forth system source code.|
|Forth system listing.|
||Forth system object code.|
||Forth system, Self Loading System Tape.|
||A release of the build system. In particular the source code, above is produced by running a dedicated 'C' program to expand the Forth word header 'macro' because the DAP facilities for macro processing and string processing are so primitive. This compressed tar file includes that code, makefiles, etc.|