AVR Tetris
posted Jan 14th 2010 9:38am by Mike Szczysfiled under: handhelds hacks

Tetris, the timeless classic, is one of those concepts that someone will try to run on every conceivable hardware platform. I took on the challenge of programming a Tetris clone from the ground up using hardware I had on hand. At the heart of the build is an ATmega168 microcontroller. The game displays on a KS0108 128×64 LCD module with five momentary push switches to provide directional, rotational, and input controls. You can see the resulting monochrome action embedded after the break.
I had several goals in mind while writing the code for the game. I wanted the code to be portable so that the size of the board and type of screen used could be easily changed. With that in mind I developed the trunk for a Nokia 3595 cellphone screen and a parallel branch for the graphic LCD. Originally I was working with an ATmega8 but upgraded so that I could operate at the 3.3v the cell phone screen required.
The firmware for the graphic LCD branch compiles to just over 6 kB which means it can still be run on a mega8. Also, the ATmega168 is the same processor used in the Arduino Duemilanove so another Tetris port is not out of the question. I just got a hold of my first Arduino so we’ll see if I find time to start a new branch in the code.






Even though there’s no audio, I’m still going to have the Tetris theme stuck in my head for the rest of the day…
\good work, btw!