% \batchmode

\documentstyle[12pt]{article}
\pagestyle{empty}
\setlength{\topmargin}{-.5in}
\setlength{\evensidemargin}{0in}
\setlength{\oddsidemargin}{-.5in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9in}

\begin{document}
\begin{center}
\large
 Some Final Projects from Spring 2002 Term\\[2ex]
\end{center}

\normalsize

\begin{tabular}{|l|l|l|} \hline \hline
{\bf Photos}   & {\bf 6.111 Final Project Title} &   {\bf Project Partners}\\[.5ex] \hline \hline  

Photo 1 &Pacman &Joseph Stark and Levente Jakab \\
Photo 2 & \mbox{\hspace{15mm}}&\\

%18 jpg  mabe add this 3rd photo
Photo 1& The Guitar Scribe &Danny Talavera and  Brian Pharris \\
%3 and 12jpg
Photo 2 && \mbox{\hspace{15mm}} \\
Photo 3 & & \mbox{\hspace{15mm}} \\
%4jpg
Photo & Xtreme Arkanoid & John Kogel, Michael Jura, Keith Battocchi \\

%5 and 21 -- check 5.jpg
Photo & The New and Improved Shadow Catcher &
Sha Ma and Samantha Livingston \\

Photo & Pokemon Punchout! &Margaret Chong,  Jason Loy, Eric Tak \\

%digitalchess.jpg
Photo & Digital Chess & Lance Anderson, Lee Tang, Wayland Ni \\

%7 and 15 jpg
Photo 1& Casual Spring 2002:&  David Alexander and Colin
   Weltin-Wu\\
Photo 2&  A Digital Turntable and Effects Processor& \\

Photo  & Digital Breakout& Brandon King, Raymond Morales, Regina Sam \\

%9.jpg =
Photo  &  Digital Pre-Frosh Helper &
  Nitzan Gadish, Reuben Sterling, and Jonathan Wolk
 \\

%16.jpg, 10.jpg
Photo 1 & The Automatic Autobahn & Sherri Davidoff, Nathan Mahn, Michael
Whitson
\\
Photo 2 & &\mbox{\hspace{15mm}}\\

%use only 14.jpg
Photo &Master Mind Against the Machine 
 & Jason Levine and Jared Showalter \\

%17.jp
Photo &MPEG-1 Layer III Digital Audio Decoder  & Chris Voekler and Dean Lentz\\

%20.jpg
Photo & Music Capturing, Editing and Playback Unit
 &   Chi-Bong Chan, Jia Fu Cen, Dibo Ntuba \\

%22.jpg
Photo & A MIDI Synthesizer &
Justin Paluska and Cristina Roussel \\

%24.jpg  Michelle Duvall with her project LOBO LOGO Turtle
%  (Project partner Chris Leger not in photo.
%25.jpg photo of  kit
Photo 1 & Lobo LOGO Turtle
  &  Michelle Duvall and Chris Leger \\
 Photo 2 & & \mbox{\hspace{15mm}}\\

%26.jpg Tehyih Wan with her project  Digital Voice Mail
% Project partners not in photo are David Simmons and Bradley Kaanta
Photo & Digital Voice Mai
 &Tehyih Wan, Brad Kaanta, Dave Simmons \\

%27.jpg Project in foreground is The A-Mazing Robot built by katherine
  % Butler and Danielle Schumaker.  (In the photo is Brandon King.) 
Photo & The A-Mazing Robot &  Katie Butler and Danielle Schumaker\\

%11.jpg "A Simple 3-d Display System) Chris Keleshian (in background) It
%is his project, along with partners: Ruimin He and Patrick Griffin
%(both not shown) .  In foreground -- not sure.
Photo &
A Simple 3-d Display System &
Chris Keleshian,  Ruimin He and Patrick Griffin\\

% n.b. this group provided both abstract. and photo
Photo &
Digital Chess
 & Lance Anderson, Lee Tang, Wayland Ni \\

\hline \hline

\end{tabular}
\vspace*{12mm}

\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf Pacman
}\\
\hspace*{-10mm} Project Partners:  &    
Joseph Stark and Levente Jakab  
 \\[4mm]
\end{tabular}
 
As an exercise in digital design, the classic video arcade game "Pacman" was
implemented entirely in hardware as a fully functional computer.  The
system includes the Gamma, a fully functional 16-bit central processing unit 
based on the Digital Alpha, including ALU and full instruction set, as well
as various human-interaction modules: a joystick input, and video and sound
output.  The system is fully 1985 compatible, and features a quirky mix of
technologically backwards equipment and completely bizarre design strategies,
including a one-of-a-kind programming language designed specifically for the
Gamma processor.  Consequently, while the implementation is unfeasible in a
modern context, it does demonstrate an unusually wide range of digital design
techniques and innovations.

\hrulefill

\vspace*{12mm}

\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf The Guitar Scribe }\\
\hspace*{-10mm} Project Partners:  &Danny Talavera and  Brian Pharris \\[4mm]
\end{tabular}

The Guitar Scribe is a digital system for the recording and
display of standard guitar tablature.   Analog signal processing was
discarded due to insufficient signal processing components;  a
specially-wired "Robo Guitar" was therefore adopted to allow the system
to function.  RoboGuitar generates the inputs to the system based on an
array of contacts between strings and frets.  The corresponding guitar
tablature is displayed on a video monitor.   Concurrent playback of a
previously recorded tablature and display of what is currently being
played demonstrates the full capability of the system.


\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf Xtreme Arkanoid
}\\
\hspace*{-10mm} Project Partners:  &    
John Kogel, Michael Jura, Keith Battocchi
 \\[4mm]
\end{tabular}

We implemented the game Arkanoid. The game consists of three walls
(left, right, upper), a paddle, a ball, and 48 blocks.  The ball bounces
off the walls or paddle; if it bounces off a block, it destroys the
block in the process.  The player controls the movement of the paddle,
and the object is to destroy all the blocks by bouncing the ball off of
them.  If the ball moves down below the paddle, where there is no wall,
the player loses a life.  In our implementation, if the player destroys
all the blocks, he/she advances to the next level, where the ball will
move faster.  When the player loses all 3 lives, the game resets to its
beginning state.  The game also makes sounds when the player advances a
level, destroys a block, or loses a life.\\  The player has three input
devices:  a paddle, a reset button, and a start button.  The paddle will
have a design on it which a video camera will translate into a position
in the game.  The reset button resets the game to the starting level and
initial configuration.  The start button allows the game to start at the
beginning of the game or after a life has been lost.


\hrulefill

\vspace*{12mm}

\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf The New and Improved Shadow Catcher  
}\\
\hspace*{-10mm} Project Partners:  &    
Sha Ma and Samantha Livingston 
 \\[4mm]
\end{tabular}

This report discusses the design and implementation of a typical shadow
catcher exhibit with an Andy Warhol stylistic twist.  The shadow catcher
is capable of freezing shadows of the user on a video output monitor as
he moves around.  The frozen shadows then
cycle through a sequence of colors before fading into the background.
the shadow catcher operates in regular and inverse mode.  The main
components of the shadow catcher include:  video-input, conversion unit,
sync separator, video input fsm, processing unit, and video out display
unit.  The design theory is discussed for each component, as well as the
procedure of building, testing, and debugging the system.  The results
were fun and successful, but there is still room for improvements.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
 Pokemon Punchout! }\\
\hspace*{-10mm} Project Partners:  &    
Margaret Chong,  Jason Loy, Eric Tak 
 \\[4mm]
\end{tabular}

This paper outlines the design and implementation of Pokemon 
Punchout, an interactive game where the player can have a real 
boxing match with Pikachu! Pokemon Punchout uses a camera to detect 
the player's punches and dodges, a game engine and scorekeeper to 
simulate real boxing gameplay, computer animation for all actions, 
and sound effects. Pika pika! 


\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
Digital Chess}\\
\hspace*{-10mm} Project Partners:  &    Lance Anderson, Lee Tang,
Wayland Ni  \\[4mm]
\end{tabular}

For our final project, we built a two-player digital chess video game. 
Each player is able to move his or her chess pieces on a video screen 
using a standard Playstation gamepad.  Only valid moves will be allowed. 
  Special cases, such as check, checkmate, stalemate, castling, and en 
passant are accounted for in the game's logic.

This project is divided up into these main sections: input, engine, 
video, and sound.

INPUT: Two standard Playstation gamepads are used to control chess pieces on 
the video screen (one controller for each player).  Players can move to 
a piece, pick it up, and place it into a destination square.  By 
interpreting the signals from the controller, the input unit computes 
chessboard coordinates and passes them to the game engine.

ENGINE: A  RAM is used to  maintain current positions  of pieces.  Moves
received  from the  input are  run through  an algorithm  on an  FPGA to
determine whether or  not a move is legal.  If it  is, then the position
of the  piece will be  updated.  If not,  the position will  not change.
The engine also  determines whether a player is  in check, checkmate, or
stalemate.   Additionally,  the  engine  allows special  moves  such  as
castling and en passant.

VIDEO: Bitmaps are used for each chess piece as well as the chessboard
and text displayed on the bottom of the screen.  A RAM is read from
continuously to address the screen.  Bitmaps in this RAM are changed as
the engine updates the locations of pieces.

SOUND: There are two different sound units - one for background music
and one for sound effects.  The background music loops continuously and
the sound effects are triggered on game events by the game engine.

\hrulefill

\vspace*{12mm}

\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf Casual Spring 2002:
 A Digital Turntable and Effects Processor
}\\
\hspace*{-10mm} Project Partners:  &    
 David Alexander and Colin
   Weltin-Wu \\[4mm]
\end{tabular}

Theoretically, analog devices offer many advantages in terms of accuracy
 and flexibility over our current digital devices.   Unfortunately,
 computations with and manipulation of analog data is extremely
 difficult in comparison to digital data.  Therefore we often make
 digital approximations to analog devices.  CD players are a good
 example of this.  Our 6.111 project, 
"A Digital Turntable"
is no exception.  We hope to offer the best of both worlds, the
 convenience of CDs combined with the power of a turntable.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
Digital Breakout}\\
\hspace*{-10mm} Project Partners:  &    
 Brandon King, Raymond Morales, Regina Sam \\[4mm]
\end{tabular}

We present the design and implementation of the video game Breakout
using digital logic.  The system implementation was broken into 4 main
modules: a game control unit (GCU), a video unit (VU, a paddle control
unit (PCU), and a sound unit (SU).  Due to various challenges, the
entire system could not be made to wrok.  Outline in this report are the
details of the design, the implementation of the system, and the
approaches used to tackle various challenges that came up during the
debugging process.


\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
  Digital Pre-Frosh Helper }\\
\hspace*{-10mm} Project Partners:  &    
  Nitzan Gadish, Reuben Sterling, and Jonathan Wolk
 \\[4mm]
\end{tabular}

MIT is a large campus, and to someone who has just arrived, navigating
its extensive corridors is a daunting task.  We decided that an
interactive system to address this problem.  A lost soul stumbling upon
our system would find a map of MIT displayed on a monitor, a keyboard,
and an LCD text screen.  The user could enter two building names or
numbers (his keystrokes would appear on the text screen), and the
monitor would display a route from the first building to the second.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
The Automatic Autobahn
}\\
\hspace*{-10mm} Project Partners:  &    
Sherri Davidoff, Nathan Mahn, Michael Whitson
 \\[4mm]
\end{tabular}
We designed an autonomous car that self-navigates by means of a
line-following feedback system.  Collision avoidance and system safety
are achieved with sonar ranging modules for object detection.  This
system is implemented on an RC car using pulse code modulation  signals
generated in hardware for control.
\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
Master Mind Against the Machine }\\
\hspace*{-10mm} Project Partners:  &    
 Jason Levine and Jared Showalter \\[4mm]
\end{tabular}

This report describes the design and implementation of a version of the
game of Mastermind against an AI opponent.   Mastermind is a game in
which one tries to guess the opponenet's color sequence gbased on hints
given according to a fixed algorithm.   In this version of the game, two
such games proceed side-by-side on a color monitor.   In one, the human
player    trys to  guess a secret provided by the human player.  One
wins by guessing the secret in fewer moves than the other player.  Two
levels of difficulty are provided.
\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
  MPEG-1 Layer III Digital Audio Decoder 
}\\
\hspace*{-10mm} Project Partners:  &    
Chris Voekler and Dean Lentz
 \\[4mm]
\end{tabular}

The  MPEG-1 Layer III (MP3) audio encoding format provides significant
compression of audio datea through psychoacoustic modeling and several
lossless encoding algorithms.  This project decodes MP3-encoded audio
clips into an uncompressed analog format and provides for user control
of the output.   A microprocessor controls the other components of the
system:   a display unit which provides the user interface, a memory
unit from which MP3 data is retrieved, a decoding chip (the STA013 from
ST Microelectronics), and an amplification unit that converts the
decoded digital audio data into the appropriate analog output.
\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
Music Capturing, Editing and Playback Unit}\\
\hspace*{-10mm} Project Partners:  &    
  Chi-Bong Chan, Jia Fu Cen, Dibo Ntuba  \\[4mm]
\end{tabular}

The Music Capturing, Editing, and Playback Unit   is a digital system
that can capture music from  an analog source, such as a keyboard.
Capturing music involves detecting signal frequencies and hence, notes.
The captured music can then be edited and stored in  separate  tracks
and can be combined to create a chorded or symphonic effect.   Aural
output is done through speakers while visual output through a TV monitor.


\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
 A MIDI Synthesizer }\\
\hspace*{-10mm} Project Partners:  &    
Justin Paluska and Cristina Roussel
 \\[4mm]
\end{tabular}

The General MIDI Standard GS was created in order to allow nstruments
from many manufacturers to interface with each other.  It defines a set
of control sequences that any MIDI device can interpret.  Typicalll, one MIDI
 device will be an electronic keyboard and the other will be a
computer.   MIDI allows a musician to play on the keyboard and the
computer to transcribe what was played to actual musical notation.
Additionally, MIDI allows a computer music program to control an
electronic keyboard like a player piano.\\

Our system implements a MIDI controller and synthesizer.  The system
will attempt to meet the GS as closely as possible, though some
modfications to the standard were needed in order to work with the given
components of the kit and frame of time we had for the project.   The
basic functionality of our system is to allow MIDI data to be input at
one end   and have music come out of a speaker.\\  

The first kit,  the system controller, is responsible for decoding the
MIDI stream.  The controller converts the 
MIDI data into a set of simple, stateless instructions for the
syntehesizer.  The synthesizer takes   
the control sequences from the controller and generates the
corresponding digital signals that are then converted to an analog
signal that drives a speaker.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
 Lobo LOGO Turtle}\\
\hspace*{-10mm} Project Partners:  &    
  Michelle Duvall and Chris Leger  \\[4mm]
\end{tabular}

Our final project is to create a physical robotic vehicle that acts out
user-supplied input commands for two-dimensional motion.   The project
is split into the user-interface kit and the robot-interface kit.  The
user interface kit is responsible for communicating with the serially
connected computer to read the user input in the form of key presses.
The keystrokes are then converted into a simplistic machine language.
The machine code is then interpreted,  and a discrete action is supplied
to the robot-interface kit.  The robot-interface kit then makes the
robot act out the command and requests the next command.


\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
 Digital Voice Mai}\\
\hspace*{-10mm} Project Partners:  &    
Tehyih Wan, Brad Kaanta, Dave Simmons  \\[4mm]
\end{tabular}

In most large corporations, voice mail systems have become a vital part
of company communications and work functions.  As compared to old
answering machines, voice messaging systems provide a plethora of
options and menus   for both ther user and the caller.  The goal of this
final project is to create a simple voice messaging system that allows
the caller to leave messages and edit messages before ``sending'' them
to the callee's voice mailbox; and to create a system that allows the
user to change outgoing greeting messages, use an extended absence
greeting, listen to voice messages, and delete voice messages, all
through a touch-tone  phone interface.  The voice mail system should
provide voice prompts to guide the user through the system.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
The A-Mazing Robot (Starring Hank the Tank)}\\
\hspace*{-10mm} Project Partners:  &    
  Katie Butler and Danielle Schumaker\\[4mm]
\end{tabular}

Our final project is a remote controlled robot that will enter a maze
and successfully navigate the maze using its IR sensors.  The robot
will  find the optimal path through the  maze, and when placed at the
entrance point of the maze again, will be able to complete it without
using any  of its sensors and making no wrong turns.  The robot will
also talk while making each one of its turns, by saying the words
"forward," "right" or "left."

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
A Simple 3-d Display System }\\
\hspace*{-10mm} Project Partners:  &    
Chris Keleshian,  Ruimin He and Patrick Griffin \\[4mm]
\end{tabular}

This paper presents the design of a 3D graphics system.  The project
presents the user with a simple flight-sim type game, involving flying a
helicopter through a path full of hoops.  Flying through a hoop earns
points, as does speed.   The game world is rendered in full 3D, to
either one or two video outputs.  With one video output, a standard 3D
rendering is presented; with two video  outputs, the system renders 
stereoscopic views by shifting the eye positions for the two views into
 slightly different spots.

\hrulefill

\vspace*{12mm}


\begin{tabular}{ll}
\hspace*{-10mm} Project Title: & {\bf 
Digital Chess}\\
 \hspace*{-10mm} Project Partners:  &    
Lance Anderson, Lee Tang, Wayland Ni 
 \\[4mm]
\end{tabular}

For our final project, we built a two-player digital chess video game. 
Each player is able to move his or her chess pieces on a video screen 
using a standard Playstation gamepad.  Only valid moves will be allowed. 
  Special cases, such as check, checkmate, stalemate, castling, and en 
passant are accounted for in the game's logic.
This project is divided up into these main sections: input, engine, 
video, and sound.\\

INPUT:
Two standard Playstation gamepads are used to control chess pieces on 
the video screen (one controller for each player).  Players can move to 
a piece, pick it up, and place it into a destination square.  By 
interpreting the signals from the controller, the input unit computes 
chessboard coordinates and passes them to the game engine.\\

ENGINE:
A RAM is used to maintain current positions of pieces.  Moves received 
from the input are run through an algorithm on an FPGA to determine 
whether or not a move is legal.  If it is, then the position of the 
piece will be updated.  If not, the position will not change.  The 
engine also determines whether a player is in check, checkmate, or 
stalemate.  Additionally, the engine allows special moves such as 
castling and en passant.\\

VIDEO:
Bitmaps are used for each chess piece as well as the chessboard and text 
displayed on the bottom of the screen.  A RAM is read from continuously 
to address the screen.  Bitmaps in this RAM are changed as the engine 
updates the locations of pieces.\\

SOUND:
There are two different sound units - one for background music and one 
for sound effects.  The background music loops continuously and the 
sound effects are triggered on game events by the game engine.

\end{document}
