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.
7 comments
AndrewS
Great example of the Pi being used in education :)
Eben Upton
Come on Cambridge! Imperial are making us look rubbish.
Alex Eames (RasPi.TV)
Hmm. Makes me want to buy a couple of NES controllers :)
Lovely bit of work.
Pastychomper
Mmmm…. tethered tete-a-tete tetris…
(come on, someone had to say it)
AndrewS
Tetris for two, and two for tetris :)
Stick
Really impressive, but to make it fair, the same bricks need to come out on both screens.
Liz Upton
Students from Imperial laugh in the face of Poisson distribution.