Gameboy Revival
German Translation

Introducing 'Gameboy Revival', running the all-time videogame classic Asteroids on (or rather, in) a formerly defunct Gameboy Advance.

This project is participating in the 'Mach flott den Schrott 2011' (lit. 'Pimp the Scrap') contest powered by c't magazine, a German computer bi-weekly.

Contest Page (German)

Contest Entry (German)

YouTube Video


Act 1

When Nintendo released the Gameboy Advance in 2001 to succeed the Gameboy Color, joy came bundled: finally a Gameboy resembling in its form the gamepads our hands have learned to love for their ergonomic design.


In my case, however, the pleasure was a short one. Before long, it met its master in a stone floor, dropped, no doubt, in the heat of battle. The unit's display did not take kindly to the fall, and has refused to display anything but a deformed, black shape ever since.


Needless to say, a new companion was acquired in some haste, and the defunct one would be left to gather dust on a shelf. Or would it? Before long, the idea of (ab)using it as a gamepad for the computer surfaced. A couple of resistors, plugs and leads later, the Gameboy's casing was ready-made to serve as an input device over the gameport, and all without the need for additional driver software.


Act 2

As a souvenir from his trip to an electronics fair, my cousin brought me a rather powerful little Cypress microcontroller by the name of 'Programmable System-on-Chip', or 'PSOC' for short. Highlights of the series featuring an ARM processor include flexible hardware wired to software, as well as nifty IDE: it works out of the box, you just configure the hardware as needed and program away in standard C. It's easy to get into, the documentation is brilliant, and it comes with many examples to get you started.


But what to do with the thing? I spied a small OLED display still lurking on my desk from a previous project. Once wired to the PSOC, it was just a matter of adapting the pre-existing display routines.


Based on this and motivated by a range of other projects - including one from c't magazine the goal was set to write a port for the videogame classic Asteroids. But why re-invent the wheel, when the world wide net offers such a rich choice in free source code? Much copy-paste and even more custom adaptations later, I ended up with a full-featured clone of the game.


Except the thing was anything but fun to play, seeing how input was handled in a most cumbersome way, featuring a range of simple buttons. I wonder if we can't do something about that ...

Act 3

... but no more! For a whole Euro (without shipping), a second, also defunct Gameboy Advance was ordered from eBay. Interestingly enough, the display very much resembled that of my own, so I suspect it met a similar fate as did ours.


After gutting the thing except for the bare circuit board with the buttons and the 4-way pad, the OLED, a voltage transformer and socket for the PSOC board have been custom-fit in there and affixed with a superfluousness of glue. Some wiring and verification later, time for the showdown!


It's a success! Never before has beating highscores on a GBA been so abundant in color, contrast and joy!

Act 4

What remains to be said?

The PSOC board can be ejected from the casing and used elsewhere.

While plugged in, it can be connected to the IDE via USB for in-circuit debugging.

Lastly, while without function for this particular game, the volume potentiometer and speakers are also wired to the board. When time comes for another game to be developed, however ...




Copyright (C) 2018 QLand.de + qrt@qland.de + Imprint + DSGVO