\chapter{The CAM-8 Input-Output Interface Board}
 
     The input-output interface board of the CAM-8 machine connects the high speed
pipe\-lined bus of the CAM-8 space modules to the SBus of the host Sun 
Sparcstation.  The board coordinates the transfer of data from the
host memory to the pipelined bus during a CAM write cycle and a reverse transfer
during a read.

    The interface board is designed to conform to the protocols of both
the SBus and the pipelined input-output PBus to which it is connected.  The SBus runs
at a clock rate of 20MHz in the Sparcstation.  The PBus, 
however, 
runs at the CAM-8 clocking rate of 25MHz.  The interface board 
ensures proper data transmission between these separately clocked systems.

    The interface board has a unique board address in the SBus system.  It 
acts as an
SBus slave to allow the CPU to program it to start a data transfer.  However,
the board primarily behaves as an SBus master as it reads from
and writes to the host memory.  In typical operation, the board reads and
executes a `Display List' which is located somewhere in the host memory.  The
Display List is a sequence of commands which controls the operation of
CAM-8.  For example, a DMA write to or read from CAM-8 may be specified.  Also,
execution of the Display List may be programmed to halt until the occurance of
a given event such as the CAM-8 End-of-Scan interrupt or a video HSYNC or
VSYNC signal.

    The interface board operates as independent of the host as possible.
Although it controls memory transfers, the board does not function as a
conventional DMA chip: it does not interrupt the host after every data
transfer.  

    All accesses by the board as a master involves 16 byte burst transfers.
Thus, the burst mode is used for reading the Display List, reading data
from the host memory, and for writing data to the host memory.  For slave
operation, only SBus word transfers are supported.

    The following sections describe in detail the design and implementation of
the CAM-8 input-output Interface Board.  It is assumed that the
reader is familiar with both the SBus Specification and the PBus protocol
for communicating with CAM-8.

