% -*- Mode:TeX -*-
 \chapter*{Introduction}\label{intro} 
 \addcontentsline{toc}{chapter}{Introduction}
 \markboth{INTRODUCTION}{}

\Cam-6 is a high-performance cellular automata machine intended to
serve as a laboratory for experimentation, a vehicle for communication
of results, and a medium for real-time, interactive demonstrations.


\bigskip

The software described in this manual has been designed to provide
access, at different levels, to all the resources of the machine.  At
the highest level, you have an interactive program which turns the
keyboard into a dedicated {\sl control panel} for \cam-6.  This program
allows you to run predefined rules and experiments, and to create and
modify the cell-state patterns that the rules act on.

Some \cxp\ functions give you access to a second level, i.e., the
machine's {\sl programming language}, which is an extension of Forth.  In
this language you can write new cellular-automaton rules and design
experiments using these rules.  The Forth programming environment
includes an {\sl interpreter/compiler/loader}, a text {\sl editor}, and a built-in
machine-language {\sl assembler}.  The software that makes up this programming
environment is itself written in Forth, and you are given the tools to
expand it and modify it, if you wish.

\medskip

This ``open box'' approach extends to the hardware.  Much hardware
reconfiguring can be performed under software control---and most users
will be satisfied with just plugging the machine into their computer
and never touching it again. However, all the essential inputs and
outputs of the machine's functional blocks are brought out to a {\sl
user connector}, so that for specialized applications one can complement
or replace some of the machine's internal resources with external
hardware. In particular, several \cam-6 modules can be interconnected
so as to obtain a larger cellular automata machine.

\bigskip

This manual is intended to be used in conjunction with the \cam\ {\sl
Hardware Manual}, published by {\sc systems concepts}, and a book of a
more methodological nature, {\sl Cellular Automata Machines---A new
environment for modeling} (Tommaso Toffoli and Norman Margolus, MIT
Press, 1987), which discusses many of the machine's intended
applications.  We shall avoid unnecessary duplication of material.

A number of annotated experiment files distributed in machine-readable
form as part of the \cam\ software are to be treated as an integral part
of this manual.  A {\sl glossary} at the end of the manual (Appendix
\ref{gloss}) contains extensive technical information on the data
structures, functions, and commands that make up the software.  Finally,
the amply annotated source files for the \cam\ Forth system provide a
good source for further understanding and self-instruction.

\bigskip

{\sl Included as part of the \cam\ software package is a version of the 
F83 system (originally produced by Laxen, Perry, and many others as a
``model'' implementation of the Forth-83 standard).  F83 is a
public-domain system, and may be freely distributed and copied as long
as the authors are given credit and no copyright notice is placed upon
it. 

On the other hand, in order to maintain some degree of control on the
future development of \cam\ Forth, any applicable proprietary rights and
copyrights for the \cam-specific portion of the software (files whose
names begin with the prefix \id|CAM-|) remain with its authors
(Norman Margolus and Tommaso Toffoli) and, inasmuch as that applies, to
the MIT Laboratory for Computer Science.}

\bigskip

Additional software (in Forth or other languages),
utilities, and applications developed by \cam\ users
can be made available to the \cam\ community through the {\sl CAM Users'
Group}.\footnote
    {Charles Bennett has offered to help organize this group; he can be
contacted at the IBM Thomas J.\ Watson Research Center in Yorktown
Heights, NY.} 
    This group will also provide a bulletin board listing the
availability of applications notes (some are already available, but are
of too specialized a nature to be included in this manual), revisions
and updates; and mentioning articles, books, and meetings concerning \cam.