1802 FIG FORTH


Last updated Nov 25 2019. Edited by Herb Johnson, (c) Herb Johnson, except for content written by Lee Hart, Sandy Robson and others. Contact Herb at www.retrotechnology.com, an email address is on that page..

This Web page provides versions of FIG-FORTH 79 for the 1802. There's links to a portable assembler in C to assemble it. There's also a text version of a FIG-FORTH document, as provided by forth.org, with my correction. The text below gives references and background. Contact me if there are any issues or corrections or updates. This Web page is one of many, which support Lee Hart's 1802 Membership Card product. - Herb Johnson

FORTHs for the COSMAC 1802

Other Forths

In May 2016, I contacted Sandy Robson about his Web page about the Hand-Held Computer (HHC) he constructed in the late 1970's from a COSMAC 1802 processor and supported with a FORTH-79 based monitor and calculator program he created. I was able to reconstruct his FORTH monitor in 1802 assembly language, by disassembling the 1802 binary he provided and using the FORTH monitor source he provided. I had Sandy's assistance and the assistance of Lee Hart, thanks for their work and support. My linked Web page gives details and those sources.

A variation of Forth called IPS was implemented and used by the AMSAT community, initially for the 1802 but later to other processors. An IPS manual is at the linked Web page; it's also been republished by Juergen Pintaske.

FIG Forth-79

While doing the HHC republishing, I decided to look up the FIG FORTH 1802 distribution from the Forth Interest Group of decades ago, and examine that 1802 source. I found that Lee Hart had also obtained that source, in that time period, and had implemented a version with his own I/O support, but without the disk I/O as he used a ROM-only system. However, as of 2016 Lee Hart only had paper listings. So I obtained online an original FIG-Forth 79 source, from the cosmacelf group.io group's file archive.

Here's the 1802 FIG-FORTH source as previously distributed, with disk-based I/O and specific console I/O. It assembles under TASM (probably Telemark Assembler, a shareware-released cross-assembler of the 1990's; with an 1802 table added by Steve Brune). I learned in July 2016, this source was provided to cosmacelf as hand-entered 1802 source, by Steve Brune in 2004 or so; following the TASM cross-assembler 1802 syntax.

I did two things with the FIG-Forth79 source. 1) I edited the source to assemble under the A18 portable-in-C 1802 cross assembler I provide on my Web site. 2) I obtained a paper copy of Lee Hart's FIG-FORTH, and I edited by eye the Forth-79 source to match. Here's the two FORTH-79 sources, assembled under A18.. Neither of these will "run" on the 1802 M/S card as given, Lee's work was with TMSI's BASYS card.

After verifying the FIG source approximately matched Lee Hart's paper listings, of course I gave him a copy. In due course he may rework that source for use with the 1802 Membership Card. However the M/S card has no file system, which FIG FORTH-79 supports.

I can't provide much support for the FIG-FORTH of course, but I'd appreciate any questions or corrections or comments. Same of course for the System Guide by Ting.

Ipso Facto, FIG Forth

From Ipso Facto issue #29 May 1982, is an article "Forth implementation notes, ACE" by Tony Hill, Ontario Canada. Access courtesy of cosmacelf.com's publication archive of Ipso Facto. The article describes implementing FIG-Forth 1802 on a COSMAC system, and provides sample I/O code and other considerations. Here's the article as a PDF and here is the hand-assembled listing for some I/O routines. - Herb

serial patches by David S Madole

In March 2019, David Madole posted in cosmacelf (a discussion group) about patching FIG-Forth with serial support code he implemented. He also made some related modifications to FIG-Forth, and discussed variations of his serial code to support differences in EF3 and Q hardware. I've created a ZIP file of his results, including code he archived in the cosmacelf files section; and comments from me about his changes, and the comments posted in cosmacelf. cosmacelf is a discussion group hosted on groups.io (and formerly on yahoo groups). - Herb

FIG-Forth documentation

In Aug 2016 I stumbled over FIG's FORTH-79 document.This is a text version, I have the PDF of the FIG publication too. The PDF is available elsewhere.

Again in 2016, I looked for an available description of FIG FORTH, that I could provide with this source. C. H. Ting wrote and published a "System Guide to figForth" in 1980 and revised in 1989. It's processor neutral, as is almost all of FIG Forth. Ting's manual has been distributed by forthfiles.net as a scanned PDF, and at forth.org, a FIG legacy site, as a set of text files. In May 2016 I contacted David Jaffe at the forth.org Web site, and called out that his 2nd edition text files lacked a chapter 7, which I provided as a transscribed from the first-edition PDF. He thanked me for the contribution. Here's the 2nd edition in text, plus Ch. 7 from the 1st edition, of the System Guide to figForth by C. H. Ting.

By 2019, Ting's manual has been republished Juergen Pintaske. The new book refers to an 1802 implementation in VHDL in 2016. It was performed on a Lattice programmed-logic ice40hx FPGA device, under iCEcube2 design software. Then the FIG-Forth was loaded into the device. Here's a reference to those implementations.

Juergen Pintaske has republished and edited a number of Forth related books. His books are referenced on Amazon: Search for his name. Some are e-books, some are printed books. They include texts and documents described here, and on other Web sites.

FIG-Forth 79 in RCA syntax; MicroDos

RCA's assembly language "syntax", in the assemblers and source code RCA provided in the mid-1970's and early 80's, is somewhat different from the the syntax as used in many 8-bit microprocessor cross-assemblers and native assemblers of the later 1970's. That was "ordinary" for 1975, when the first microprocessors were made available or were already available. The original source of FIG-Forth for the 1802, was in that earlier RCA syntax; that's the version I've offered above.

David Schultz, in the summer and fall of 2016, worked with copies of RCA's "MicroDOS", a disk-based operating system and native assembler provided by RCA as part of a development system. David "restored" the FIG-Forth 79 to the original RCA syntax, adapted it to "talk" to RCA's UT71 monitor which was part of MicroDOS. He's operated MicroDOS (and now FIG-Forth) under a simulator written in C. David and others, made these available on the cosmacelf group.io group file section earlier in 2016. Here's David's version of FIG-Forth which is in the RCA 1802 "original" assembly syntax, with UT71 support. David's Web site has his work on MicroDOS. Thanks to David who asked me to "cover" this version of 1802 FIG-Forth. - HErb


This page and edited content is copyright Herb Johnson (c) 2019. Contact Herb at www.retrotechnology.com, an email address is available on that page..