This manual, Writing FCode 3.x Programs (806-1379), describes how to write, debug, and test FCode programs for SPARC-based systems and PCI or SBus interface card devices. It replaces all previous manuals describing how to write FCode programs. IEEE Standard 1275-1994 is based on the Suntrademark OpenBoottrademark 2.x implementation. OpenBoot 3.x from Sun is compliant with IEEE Standard 1275.

Throughout this book, the reference to FCode PROM might refer to any type of ROM device (ROM, PROM, FlashPROM, etc.).

Who Should Use This Book

This manual is written for designers of PCI and SBus interface cards and other devices that use the FCode programming language. It is written for those designers who have some familiarity with PCI or SBus card design requirements and Forth programming. The sample code in this book is provided as is without any warranty.

The material in this manual is for developers of FCode applications for PCI or SBus peripherals on OpenBoot 3.x. With proper programming precautions, these applications should run on OpenBoot 3.x and earlier versions. By following the IEEE 1275 standard, the same FCode application can also run on non-SPARC systems which are IEEE 1275-compliant. The FCode language is defined by IEEE Standard 1275-1994 Standard for Boot Firmware.

This manual is written for designers who have read and understood the corresponding SBus or PCI specifications and SBus or PCI binding to IEEE Standard 1275-1994 1.2.

How This Book Is Organized

Typographic Conventions

Typeface or Symbol




The names of commands, files, and directories; on-screen computer output

Edit your .login file.

Use ls -a to list all files.

% You have mail.


What you type, when contrasted with on-screen computer output

% su



Book titles, new words or terms, words to be emphasized

Read Chapter 6 in the User's Guide.

These are called class options.

You must be superuser to do this.


Command-line variable; replace with a real name or value

To delete a file, type rm filename.

Shell Prompts



C shell


C shell superuser


Bourne shell and Korn shell


Bourne shell and Korn shell superuser


Related Documentation



IEEE Standard

IEEE Standard 1275-1994 Standard for Boot (Initialization Configuration) Firmware, Core Requirements and Practices

IEEE Standard

IEEE Standard 1275.1-1994 Standard for Boot (Initialization Configuration) Firmware: Instruction Set Architecture (ISA) Supplement for IEEE 1754

IEEE Standard

IEEE Standard 1275.2-1994 Standard for Boot (Initialization Configuration) Firmware: Bus Supplement for IEEE 1496 (SBus)

IEEE Standard

IEEE 1496-1993 Standard for Chip and Module Interconnect Bus: SBus

PCI Local Bus Specification

PCI Local Bus Specification, rev. 2.1, available from PCI Special Interest group: 800-433-5177/503-797-4207 and


OpenBoot 2.x Command Reference (802-3241)


OpenBoot 3.x Command Reference (802-5837)

IEEE Standard

PCI-Bus Binding to IEEE Standard 1275-1994, available at

Forth and Forth Programming

For further information about Forth and Forth programming:

Ordering Sun Documentation, an Internet professional bookstore, stocks select product documentation from Sun Microsystems, Inc.

For a list of documents and how to order them, visit the Sun Documentation Center on at:

Accessing Sun Documentation Online

The docs.sun.comSM web site enables you to access Sun technical documentation on the Web. You can browse the archive or search for a specific book title or subject at:

Sun Welcomes Your Comments

We are interested in improving our documentation and welcome your comments and suggestions. You can email your comments to us at:

Please include the part number (806-1379-10) of your document in the subject line of your email.