Summary of Tetris Video Game
This article describes a 2003 ECE476 design project creating a Tetris game playable via a 16-button keypad and displayed on a black and white television at 128x100 resolution. The system uses an ATMEL Mega32 microcontroller running at 16 MHz, paired with an STK500 test board. The game features nine selectable levels that increase speed as lines are completed, optimizing the processor's limited power for graphical tasks without requiring a computer connection.
Parts used in the Tetris Game Project:
- ATMEL Mega32 microcontroller
- STK500 test board
- 16 button keypad
- Black and white television
Introduction
For our 2003 ECE476 Design Project, we designed a Tetris game that was playable via a 16 button keypad and was displayed on a black and white television at a resolution of 128×100. The heart of the hardware system consists of the ATMEL Mega32 microcontroller and an STK500 test board. The game mimics what you would expect of the original Tetris game, where you would advance in level (and increase in speed) as you progress by completing lines in the game.
Although the game Tetris may seem like a simple program, the limited computing power and memory space of the 16 Mhz microcontroller make this tasks more challenging than one would anticipate. Instead of hooking up a computer to a television screen, we merely used a small microcontroller chip and several simple circuits to implement our design.
We wanted to design a project that would fully harness the processing power of the 16 Mhz Mega32 processor. Yet we understand that performing graphic manipulation on a television screen can be extremely CPU intensive. Therefore, we chose a game that at times had significant amount of graphical changes, but the game for the most part did not require a tremendous amount of calculation during normal game play. Furthermore, debugging the game required hours of game play, which did wonders for our Tetris skills.=)
High Level Design
We wanted to design a project that would fully explore the processing power of the 16 Mhz Mega32 processor. We understand that performing graphic manipulation on a television screen can be extremely CPU intensive, therefore a game of the appropriate level of sophistication was chosen. At times significant processing power was required to handle the graphical manipulations (that are sometimes divided between multiple cycles), but the game for the most part did not require a tremendous amount of calculation during normal game play allowing the processor to catch up. Furthermore, debugging the game required hours of game play, which did wonders for our Tetris skills.=)
Although the game is in black and white on a television screen, it includes the standard features that you would expect of a Tetris game under any gaming platform. The game initially requests the user to press a button, between one and nine, to select the corresponding level (appropriate speed) for the game to begin in. The game then advances in level (and increases in speed) as you progress by completing lines in the game.
For more detail: Tetris Video Game
- How was the game input controlled?
The game was played via a 16 button keypad. - What display resolution was used?
The game was displayed on a black and white television at a resolution of 128x100. - Which microcontroller powered the system?
The heart of the hardware system consisted of the ATMEL Mega32 microcontroller. - How did the user select the starting difficulty?
The game requests the user to press a button between one and nine to select the corresponding level. - What happens when lines are completed?
The game advances in level and increases in speed as you progress by completing lines. - Why was this specific game chosen for the project?
The team chose it because it required significant processing power for graphics but not excessive calculation during normal play. - What is the clock speed of the microcontroller?
The project utilized a 16 Mhz microcontroller. - Did the system require a computer connection to run?
No, they used a small microcontroller chip and several simple circuits instead of hooking up a computer.


