Thursday, July 10, 2014

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 at GitHub. Thanks to Han Qiao, Piotr Chabierski, MichaƂ Sienkiewicz
and Utsav Tiwary for a really lovely piece of work.

No comments:

Post a Comment