FORTH for the Zilog Z8 Microcontroller

By Robert Edwards
March 25, 2009
© 1983-2009 The MapTools Company

FORTH is a language that blossomed in the late 1970s and early 1980s, but has fallen into disuse because of the dominance of the C language. However, experience has shown that FORTH is still a viable programming language alternative, especially when size of code and performance are critical.

Oak Ridge FORTH for the Zilog Z8 was originally developed as a "proof-of-principle" tool for exploring prototyping alternatives. This version of FORTH is based on the 83 FORTH standard, but some parts of the standard have been omitted or altered because of the unique microcontroller environment.

Oak Ridge FORTH is used primarily for prototype development and, to a lesser extent, as an educational platform at the college level to introduce principles of computing, hardware implementation, compiler development and prototyping concepts.

The compiler can be implemented on minimal hardware. The image below shows the platform used in prototyping. This 3 by 4 inch board carries a Z8 microcontroller, 32K EPROM/32K RAM, and a serial I/O interface.

If you don't have access to facilities for fabricating a circuit board, you can implement the hardware on a simple prototype board, as is shown in the following image.

A high-resolution circuit diagram for 32K EPROM/32K RAM prototype is located here together with a definition of the printed circuit board in Eagle software format.

The 8K version of Oak Ridge FORTH provides a screen editor and a "native code" extension that facilitates testing "assembler" code in a FORTH environment. The FORTH code is commonly used as part of a system with anywhere from 4K to 64K of ROM with a FORTH kernel occupying the lower portion of ROM. The system is modular so that a 2K or 4K version of the FORTH kernel can be developed easily. Also, the Forth kernal can be adapted for a "RAMless" system by placing the system variables and stacks in the register file.

Information on FORTH and the Z8 is available on the Internet: Most FORTH users agree that Starting FORTH by Leo Brodie is an excellent introduction to the language. The 13 chapters for Brodie's book are available here: Chapter 0, ... Chapter 12.

Zilog manuals for the Z8 available at their site: Z8 User Manual; Z8 hardware description (86C91 Product Spec). Z8 hardware description (86C93 Product Spec).

The Zilog DOS-based macro assembler and linker are hard to find, so we provide them with this link: Z8 MASM/Linker.

You can view a copy of the Oak Ridge FORTH manual by clicking here. For more information about Oak Ridge FORTH, EMail Robert Edwards (the Forth guy) at the MapTools Company.

Oak Ridge FORTH supports serial (I2C) EEPROMs and 8574 parallel interface, and a rudimentary capability for a PS/2 keyboard.

MapTools FORTH development software is provided free of charge under a GNU "free software" license.