How the results met our expectations

The results more than exceeded our expectations.  We were able to implement almost all of the features we wanted and even implemented some features we aspired to complete.  We enjoyed having a lot of room for creativity and we had a lot of fun designing our game and in the end, the game turned out to be awesome.  If we had infinite time, we could continue to add more upgrades to the game and perfect our game.

How did the design conform to applicable standards

Our project conforms to the NTSC standard RS-170 monochrome video standard for television interface using 525 stacked horizontal lines and a 60Hz refresh rate.  For a horizontal sync pulse, we generate precisely the NTSC specified 5 ms pulse.  NTSC specifies a vertical sync pulse width of 63.55 ms, however our code will use a 63.625 ms vertical sync pulse.  We use this timing for a vertical sync pulse because it can be obtained by using the 16MHz clock and entering an ISR every 1018 cycles.  This vertical sync pulse still produces a stable image when compared to the 63.55 ms vertical sync pulse and thus accuracy and video quality is not reduced.  We follow the RS-170 monochrome video standard by implementing a black and white scheme for our game.  We will conform to ANSI standards for C programming.

Intellectual property considerations

We used Professor Bruce Land's code for video generation.

  • Character bitmaps

  • Timer interrupt code

  • Drawing functions (video_pt(), video_putchar(), video_puts(), video_smallchar(), video_putsmalls(), video_line(), video_set())

  • Standard side, top, and bottom boundaries

Breakout is a registered trademark of Atari Interactive, Inc.  Breakout along with many other games was purchased by Hasbro Interactive in 1998.  We will not be using it for profit, but for educational use only.  We claim no credit for the intellectual property of this design.  Our final code will be open source and available to the public.

Ethical Considerations

In the design of our final project, we conformed to the IEEE Standard of Ethics whenever possible.  We made sure to always keep in mind the safety of the users of our product.  We attempted to avoid real or perceived conflicts of interests.  We remained honest in our claims of achievements.  Our open source code contributes to the programming youth of America and the overall knowledge of the world.  Every aspect of this course was to train us with an ultimate goal of completing this project.  This final project gave us the experience of completing a project from start to finish.  Working in teams contributed greatly to creative criticism from both partners on all levels.  It taught us how to communicate our ideas with one another and how to contribute to a team effort.  Working in lab was beneficial to everyone because we could not only share ideas, but mutually benefit from the knowledge of everyone.

Final Comments

This final project was loads of fun and was a good use of what we had worked on throughout the semester.  It was so much fun making all the little upgrades to our game.  We would think of new features to add and new ideas at the most random times (the shower, at a drug test, while eating ...) and every time we thought of something, we knew we had to try and implement it.  We set our deadline pretty early and thus put in a lot of time early on.  However, it was difficult to decide when we were done because we would keep thinking of ways to upgrade our game and wanting to try the new upgrades every time.  When it came close to the deadline, there would be times when one partner would think of an idea and "need" to try it out while the other partner would remain skeptical because of the time frame.  However, we are glad we were both able to put in all our creativity and time into this amazing, educational, and fun project.