Bare-metal Tetris duel

A couple of weeks ago, we featured a first-year undergraduate project from Imperial College in London: a bare-metal port of StarFox to the Raspberry Pi. It’s stupendously good; even more so when you realise that the people behind it are 18 and 19 years old.

I discovered that a second group from the very same class has another bare-metal doozy of a gaming project running on the Pi: head-to-head Tetris.

The team says you’re seeing:

– 4000 lines of documented ARM assembly code
– Optimised driver for a NES controller connected via GPIO
– Asynchronous networking for two Pis connected via GPIO
– Doubly buffered rendering logic for HDMI output
– Custom ARMv6 assembler written from scratch in C (released as binary only)

What’s in the water down in South Kensington? I don’t think we’ve seen this much assembly language since … this time last year, when we found an Imperial College bare-metal chess project.

Everything you need to replicate the Tetris setup is available on GitHub. Thanks to Han Qiao, Piotr Chabierski, Michał Sienkiewicz
and Utsav Tiwary for a really lovely piece of work.


AndrewS avatar

Great example of the Pi being used in education :)

Eben Upton avatar

Come on Cambridge! Imperial are making us look rubbish.

Alex Eames (RasPi.TV) avatar

Hmm. Makes me want to buy a couple of NES controllers :)

Lovely bit of work.

Pastychomper avatar

Mmmm…. tethered tete-a-tete tetris…

(come on, someone had to say it)

AndrewS avatar

Tetris for two, and two for tetris :)

Stick avatar

Really impressive, but to make it fair, the same bricks need to come out on both screens.

Liz Upton avatar

Students from Imperial laugh in the face of Poisson distribution.

Comments are closed