\begin{section}{Appendix}
\label{sec:appendix}
\renewcommand{\thesubsection}{\Alph{subsection}}

\begin{subsection}{Differencer Components Source Code}

\begin{subsubsection}{Differencer latch and invert: {\tt absdiff\_invertff.vhd}}
\begin{singlespace}
This is the VHDL source for the 20v8 that is part of the differencer
that latches old intensity value and inverts it.  This is U7 in
Figure~\ref{fig:diffsch}.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/absdiff/absdiff_invertff.vhd}}
\label{src:absdiff_invertff}
\hrule
\end{singlespace}
\end{subsubsection}


\begin{subsubsection}{Differencer Mux and Latch: {\tt absdiff\_final.vhd}}
\begin{singlespace}
This is the VHDL source for the 20v8 that is part of the differencer
that muxes and outputs the final difference value.  This is U10 in
Figure~\ref{fig:diffsch}.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/absdiff/absdiff_final.vhd}}
\label{src:absdiff_final}
\hrule
\end{singlespace}
\end{subsubsection}


\begin{subsubsection}{Differencer Controller: {\tt count8-diffctl.vhd}}
\begin{singlespace}
This is the VHDL source for the 22v10 that controls the differencer counters,
DRAM, and output latches.  U13 on Figure~\ref{fig:diffctlsch}
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/diffctl/count8-diffctl.vhd}}
\label{src:count8-diffctl}
\hrule
\end{singlespace}
\end{subsubsection}



\begin{subsubsection}{Column Counter: {\tt count9\_col.vhd}}
\begin{singlespace}
This is the VHDL source for the 22v10 that counts the columns for
the address bus, U12 in Figure~\ref{fig:diffctlsch}.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/counters/count9_col.vhd}}
\hrule
\label{src:count9_col}
\end{singlespace}
\end{subsubsection}


\begin{subsubsection}{Row Counter: {\tt count9\_row.vhd}}
\begin{singlespace}
This is the VHDL source for the 22v10 that counts the rows for
the address bus, U11 in Figure~\ref{fig:diffctlsch}.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/counters/count9_row.vhd}}
\label{src:count9_row}
\hrule
\end{singlespace}
\end{subsubsection}

\end{subsection}

\begin{subsection}{Pong Components Source Code}

\begin{subsubsection}{8 Bit Comparator: {\tt comp.pal}}
\begin{singlespace}
This is the PALASM source for the 20v8 that compares the current
pixel row with the ball y coordinate.  U29 on Figure~\ref{fig:pongsch}.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/comparator/comp.pal}}
\label{src:comp}
\hrule
\end{singlespace}
\end{subsubsection}

\begin{subsubsection}{8 Bit Comparator: {\tt comp\_col.pal}}
\begin{singlespace}
This is the PALASM source for the 20v8 that compares the current
pixel column with the ball x coordinate.  U28 on Figure~\ref{fig:pongsch}
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/comparator/comp_col.pal}}
\label{src:comp_col}
\hrule
\end{singlespace}
\end{subsubsection}


\begin{subsubsection}{Pong CPLD: {\tt pong.vhd}}
\begin{singlespace}
This is the VHDL source for the Cypress 372i CPLD that runs Pong.
This chip is shown as U30 in Figure~\ref{fig:pongsch}.  
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/pong/pong.vhd}}
\label{src:pong}
\hrule
\end{singlespace}
\end{subsubsection}

\end{subsection}

\begin{subsection}{Bitmap Overlay PROM}

\begin{subsubsection}{Original Images: {\tt cube.[0-4].xbm}}

\begin{tabular}{llll}

\hbox{\epsfbox{golem/display/cube.0.ps}} 
\hbox{\epsfbox{golem/display/cube.1.ps}} 
\hbox{\epsfbox{golem/display/cube.3.ps}} 
\hbox{\epsfbox{golem/display/cube.4.ps}}
\end{tabular}
\end{subsubsection}

\begin{subsubsection}{Bitmap Processor: {\tt xbm2src.pl}}
\begin{singlespace}
Perl script to convert a .xbm image to a .src file.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/display/xbm2src.pl}}
\label{src:xbm2src}
\hrule
\end{singlespace}
\end{subsubsection}

\begin{subsubsection}{Character Bitmaps: {\tt cube.[0-4].src}}
\begin{singlespace}
The four character bitmaps for each frame of the ball image.\\
\vspace{12pt}
{\tt cube.0.src}:
\hrule
{\small \verbatiminput{golem/display/cube.0.src}}
\hrule
\vspace{12pt}
{\tt cube.1.src}:\\
\hrule
{\small \verbatiminput{golem/display/cube.1.src}}
\hrule
\vspace{12pt}
{\tt cube.3.src}:\\
\hrule
{\small \verbatiminput{golem/display/cube.3.src}}
\hrule
\vspace{12pt}
{\tt cube.4.src}:\\
\hrule
{\small \verbatiminput{golem/display/cube.4.src}}
\hrule
\end{singlespace}
\end{subsubsection}

\begin{subsubsection}{PROM Datafile Generator: {\tt src2dat.pl}}
\begin{singlespace}
Combines four character bitmaps into a single PROM .dat file.
\vspace{12pt}
\hrule
{\small \verbatiminput{golem/display/src2dat.pl}}
\label{src:src2dat.pl}
\hrule
\end{singlespace}
\end{subsubsection}

\label{src:cube.[0-4]}

\end{subsection}


%this shouldn't go here, but it works here.  grr.
\label{end}


\end{section}


