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.
Comments are closed