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!
I wasn’t going to have the Tetris theme stuck in my head, but reading your reply I will now.
Do do de do de do do.. damn you! Great hack by the way.
over the weekend I was looking at my 128×64 lcd on its end and though, hm … that would be cool for some games like tetris or even pacman
good thing my thoughts pass by pretty quick, cause now I can just use this version and save a lot of grief
Thanks!
nice one! looks fun.
Very very nice work. I just ordered my first arduino ever (Duemilanove with an atmega328) so when it ships I might try this one out myself. The only thing I could think of would be to add a buzzer to play the theme :P
Crap. Why did you mention the theme song? Now my day is doomed!
Really cool, there is another cool tetris using the atmega168 at http://depg.ca/
Pure brilliance. I really want to do this when I get my Arduino.
Very nice. :-) I also wrote an Atmega168 Tetris and Snake game, which generates composite video output using a couple of resistors for playing on a TV screen – http://benryves.com/products/avrtvgame
Speaking of Tetris, I made the theme like a week ago
dun da da dun da… dun da da dun da… Ummm, is it possible to love a theme so much and hate it just as equally? Now I have to go download both themes. Damn Russian brainwashing-like teaching tactics( read: the original purpose of the game).
seem a good one i like it
Great one!
Here’s a tetris game on a 16×16 LED display:
http://www.das-labor.org/wiki/Datei:Borg-andre-rot.jpg
The Software for it can be found here:
http://das-labor.org/trac/browser/microcontroller/src-atmel/borg/borgware-2d
Here is a similar project, but with display is used TV or LCD monitor from PC benryves.com
Is it possible to get it to output in ntsc?