Forth Language/FCode

Driver Programming Class

To equip qualified engineers to work with Open Firmware (as defined by IEEE Standard 1275-1994) and to write Open Firmware device drivers, FirmWorks conducts a four and 1/2 day class which provides the knowledge necessary to write Open Firmware-compliant FCode Drivers.

No prior knowledge of the Forth language or Open Firmware is assumed. However, participants should have the following:

The course consists of lecture and in-class programming exercises for which each student is provided his/her own computer. By the end of the week, participants will have a basic understanding of Forth, Open Firmware and FCode, and will have written their first FCode device driver.

Course Description

Pre-Work -- approximately 20 hours



Upon completion of registration, each student is provided with a class workbook. Any student who does not already know the Forth programming language should use the workbook in conjunction with the online version of "Starting Forth, Second Edition" by Leo Brodie (located at to learn Forth. The class workbook contains clarifications of the material in "Starting Forth", additional information related to Open Firmware's Forth environment, and exercises to help the student master Forth in preparation for the class. Should the student not have access to an Open Firmware environment for learning Forth, Forth interpreters for a wide variety of operating systems are available from the Free Software Foundation at or at

Although some class time will be spent reviewing the Forth language, it is important that the student have scheduled time available prior to the class for completing the pre-work assignment.

Forth Language, Debugging Tools and Forth Laboratory -- 1.5 days



At the start of the class, students will be given a short questionnaire with which they can self-evaluate their Forth skills. Based upon the questionnaire results and student feedback, the instructor will review the topics with which the students need help, and will review all of the language constructs that the students should need over the course of the class.

At the end of this review, the students will be given a programming exercise with which to refine their Forth skills. Experience has shown that refining Forth language skills in this laboratory helps prepare students for the FCode driver laboratory later in the week.

Open Firmware and FCode Drivers -- 1.5 days



FCode Driver Laboratory -- 1 day


Each student will write a simple FCode driver for their classroom computer's serial port. Adjacent computers will be have their serial ports connected, and the students will test their drivers by "chatting" through their drivers across the serial ports.

Open Firmware Conclusion -- 0.5 day


The training is conducted in English. Course materials are provided.

Class Scheduling

Classes are scheduled on demand once a minimum class size of four is achieved. Please send an email to specifying the class in which you are interested.

Classes may also be scheduled on demand at your site subject to a guaranteed minimum class size of 4. Please contact to make arrangements for a class scheduled for your needs.


Our standard single student rate for a class at FirmWorks's site is $2300. Alternatively, multiple enrollments from a single company for a single class may be purchased for $8250 plus $1,085 per student.

Discounts are available from both these rates for holders of FirmWorks system ROM source or manufacturing kit licenses. Please contact FirmWorks for details.

Our fees do not include meals, hotels or transportation.

We will also run single company classes on our site given a minimum class size of 4 for $2,300 per student or on your site given a minimum class size of 4 for $7,500 plus $1,085 per student. In addition, travel time and expenses are charged for off-site classes.

We accept Mastercard, Visa, Diners Club, Carte Blanche, JCB, check, money order or company purchase order (subject to credit approval). (Sorry. We do not accept American Express.)

Forth Interpreter for Class Prework

If you do not already have an ANS Forth environment, three alternative environments are readily available:


gforth is free and available at FirmWorks has tested gforth under both MS-DOS® and Windows NT®. Versions are available for OS/2 and Linux, and source is also available which should compile under systems with gcc.

(For those students who wish to use gforth under MS-DOS and who have trouble accessing the official server, a minimum set of files may be obtained from this directory.)

gforth has the advantage of being free and of not requiring a deposit. It has the disadvantage of not having as complete a set of tools (e.g. the Forth language debugger) as the FirmWorks simulator. For the purposes of completing the prework, this is not a great disadvantage.

Alternatively, FirmWorks will loan a copy of a proprietary 32-bit, ANS Forth interpreter to any student who prefers a more complete Open Firmware environment. This interpreter is suitable for use on an IBM-compatible PC running MS-DOS, and it is the environment that will be used in the classroom.

To obtain the FirmWorks simulator, a student must accept the terms of FirmWorks's license agreement, must agree to return the software at the completion of the class, and must provide a $500 refundable deposit. If the software is not returned by one week after the class's completion, the deposit will be forfeited.

For Mac OS

pForth is a free, public domain Forth available in this directory.

Like gforth, pForth has the advantages of being free, of running as a Mac OS application and of not requiring a deposit. Again, it has the disadvantage of not having as complete a set of tools (e.g. the Forth language debugger) as the FirmWorks simulator. For the purposes of completing the prework, this is not a great disadvantage.


Registration for a given class session closes approximately two and 1/2 weeks prior to the start of that session for United States registrants and three and 1/2 weeks prior to the start of that session for all other registrants (as shown above). Payment must be received by the close of registration to allow sufficient time for shipment of pre-work materials and completion of pre-work by students.

Cancellation Policy

Classes Scheduled in Silicon Valley, CA

If, after registering for the class, a student's registration is rescheduled or canceled, one of the following fees will apply for each student whose registration is modified.

Classes Scheduled on Request at Customer Site

If, after a class has been scheduled per your request, the class is rescheduled or canceled, one of the following fees will apply.

In addition to the above, you will be required to reimburse FirmWorks for any non-refundable travel expenses that were incurred by FirmWorks as a result of the cancellation or rescheduling of any class not scheduled to be held in Silicon Valley, CA.

To Register:

Contact the instructor at:


  1. All prices are exclusive of sales, use and other applicable taxes, which must be paid by customer.
  2. Prices, offering and terms subject to change without notice.

Back to FirmWorks Services Page.
Back to Training and Documentation Page.
Back to FirmWorks Home Page.

Last Modified: November 26, 2001