% -*- Mode:TeX -*-

\chapter{Getting ready}\label{ready}

\Cam-6 (briefly, `\cam') is a special-purpose computer 
designed for the high-performance simulation of cellular
automata. Computation is done by table lookup, with provisions
for on-the-fly display processing and data analysis.

The hardware of \cam\ consists of a module that
fits into a full-length slot of an {\sc ibm-pc}, {\sc -xt}, or {\sc
-at} computer (briefly, a `\pc')---or compatible machine. The module
itself consists of two six-layer printed-circuit boards---one
``piggy-back'' on the other---and contains approximately one-hundred
integrated circuits.  Several modules can be installed in the same
\pc\ and interconnected into a single, larger cellular automata
machine, as discussed in the \hm\ and in Chapter \ref{multi}.

\Cam\ directly produces output for an {\sc ibm-pc} compatible color
monitor (cf.\ Appendix \ref{monitor}).  The regular
output from the \pc\ can be sent to a separate monitor; however, a
routing cable (provided with the module) allows you to use the same
monitor for displaying, under software control, either the output from
\cam\ or that from the \pc.  Alternative monitor configurations are
discussed in Appendix \ref{monitor}.

\section{Installing the hardware}

Programming jumpers are used to control which part of the \pc\
memory-address space and which of the \pc\ interrupt lines are used by
\cam.\index{Hardware/configuration}  In most cases the default position of these jumpers, as set at
the factory, will allow your module to run on the \pc\ without further
configuration operations.  However, memory or interrupt conflicts may
arise if your \pc\ is already populated with a number of cards; in
this case you'll have to change one or two jumper settings, as
explained in the \hm, and one or two software parameters (see
\iprog{CAM-BASE} and \prog{CAM-IRQ\char"23}\index{CAM-IRQ.{\tt CAM-IRQ\char"23}} in the glossary).

\medskip

\noindent {\bf Warning: \sl To avoid permanent damage to \cam\ or the
\pc, make sure that the power switch is turned off before 
performing the following operations.}

\medskip

Remove the \pc\ cover, thus gaining access to the internal expansion
slots.  Remove the shiny metal bracket at the rear of any empty
full-length slot, saving the screw.  Insert the \cam\ module into this
slot and firmly attach its bracket with the screw.  Put the cover back
on.  Connect the monitor(s) as explained in Appendix \ref{monitor}.

\medskip

You are now ready to run the software.

\section{The software package}\label{soft-pack}

\Cam's software consists of a number of program, data, and documentation
files.\index{File/types of} Different types of files are distingushed
by the following extensions:\index{File/extension}\footnote
        {In DOS jargon, the {\sl extension} is an optional second part of
a file name, separated from the first part by a period; thus, files
with extension {\tt 4TH} have a name of the form {\tt xxxx.4TH}.}
        \begin{description}
        \item[{\tt DOC}] Text files containing miscellaneous documentation.
        \item[{\tt EXP}] {\sc Cam} experiment files.
        \item[{\tt PAT}] {\sc Cam} screen pattern files.
        \item[{\tt TAB}] Files containing precompiled lookup tables.
        \item[{\tt DAT}] Files containing numeric data, typically
accumulated in the course of a \cam\ experiment.
        \item[{\tt 4TH}] Source files for the base Forth system and
dedicated extensions to Forth, which together comprise the \cam\
programming environment (here the term `extension' has its usual
meaning).
        \item[{\tt EXE}] Executable files, i.e., files executable directly
at the DOS level.  (Earlier versions of some of these files have
the extension {\tt COM}.)
        \end{description}

The software comes on a number of distribution diskettes, containing the following
material:
    \begin{enumerate}
        \item A program called \iprog{CAM.EXE}, which puts you in complete control of
the \cam\ machine and its associated software utilities.
        \item Sample experiments and demos that illustrate all major \cam\
features and some typical applications.
        \item The base Forth programming system (of which \iprog{CAM.EXE} is an extension)
in executable form, under the name \iprog{F83.EXE}. This system, which can be used
as a general-purpose programming environement quite independently of \cam,
is accompanied by complete and annotated source code.\footnote
        {The Forth system provided with \cam\ is a modified version of F83, and has
been placed in the public domain; it includes the Forth interpreter/compiler/loader,
the screen editor, the assembler, and many utilities.  Also included is a {\sl
metacompiler}, by means of which one can completely regenerate the system, and
produce extended or customized versions of it.}
        \item The source code for the \cam\ extension of Forth.
    \end{enumerate}

{\em Before attempting to do anything else, you should make two back-up
copies of each distribution disk.  Make the copies using the DOS command
\prog{DISKCOPY}, as explained in the DOS manual.  Put the original set
of distribution disks and one back-up set in a safe place.  Use the
second copy as a master, should further duplication be necessary.}

Look for a file called \id|READ-ME.DOC| in one of these diskettes, and type it out
on the terminal or list it on the printer. It will contain up-to-date information
on the contents of the software package, and useful hints on how to handle it.

Finally, format one more disk, to be used a {\sl work disk},\index{Work disk} and copy to it
the \iprog{CAM.EXE} program (which by itself is sufficient to run \cam)
and the following experiment and pattern files, which will be used for practice
in conjunction with this manual:
 $$\tt
 \begin{tabular}{llll}
   BARELIFE.EXP & IRGB.EXP & VARLIFE.EXP & BRAIN.EXP \\
   SAMPLE.PAT & DISK.PAT & GUNS.PAT
 \end{tabular}
 $$

\medskip

If you have standard equipment, no installation procedure is needed to
start using the \cam\ software.  If you have a hard disk\index{Hard disk}, eventually you
will want to install all the \cam\ software there, as explained in
Section \ref{hard}.

Some configuration options are available for driving different kinds
of printers, supporting more than one \cam\ module, and personalizing other
minor features. The available options are described in Sections \ref{multiple},
\ref{personalize}, and \ref{custom-screens}.

\section{Start-up}\label{startup}

The only program required to run \cam\ is \prog{CAM.EXE}, which is
contained on the work disk together with sample experiments and
patterns.
 \begin{enumerate}
  \item Boot the \pc\ using DOS version 2.1 or higher.
  \item Insert the work disk in one of your drives.
  \item Make that drive the default one (e.g., if the work disk is in
drive {\tt A:}, type \prog{A:} followed by carriage return).
  \item Type \id|CAM|\index{CAM.EXE/entering} followed by carriage return.\footnote
        {Since the extension \prog{COM}, typical of an executable
program file, is supplied by DOS by default,
you need not explicitly type \prog{CAM.EXE}.}
 \end{enumerate}

\noindent The terminal should display the \cam\ logo and then print
 \begin{verbatim}
    Press `m' for a menu\end{verbatim}
        \Cam\ has passed a cursory hardware test,\index{Hardware/test} and you are now in
command of the machine.  To return to DOS, type \id|F| followed by
\iprog{BYE} (cf.\ end of Section \ref{access-forth}).\index{CAM.EXE/leaving}\index{DOS/returning to}

\medskip

{\small If instead the \pc\ beeps and you get the message `{\tt CAM
hardware not responding!}' there is some kind of hardware problem.  The
most likely problem is a memory or interrupt conflict; this may require
moving a hardware jumper\index{Hardware/configuration}, as explained in
the \hm, as well a software ``jumper,'' as explained under \id|CAM-BASE|
and \id|CAM-IRQ| in the glossary at the end of this manual (Appendix
\ref{gloss}).  Of course, you should verify that you have at least 256K
of memory in your \pc, and that a \cam\ card has actually been installed
in the \pc!  After this message, the \prog{CAM.EXE} program will still
run, but without attempting to talk to \cam; thus, program development
is possible even when the \cam\ card is not physically present.\par}




