Console Homebrew

During my uni years I spent quite a few time working on demos and more or less complete games on different platforms. I love to run my own code on random unsupported platforms, particularly if they require hacking to do so. Baremetal targets are also cooler!

MegaDrive dev

Last year (2019) I did a small game named Late for the Big Day for a couple of friends that got married. I used the typical tools (SGDK, Blastem, Deflemask ...) and grabbed free assets from various sources. To be in a rush the result is not that bad. Enjoy it!

Late for the Big Day

GBA dev

Some small demo on GBA, also worked on a small GB (original) emu but didn't go too far. Check out the demo (featuring Sonic!) here: GBA development stories

Demo screenshot

PSP dev

Things got bit more serious for PSP, I actually bought mine knowing it was not hackable (yet) to run homebrew, and some months later homebrew was enabled on it (via the famous HEN exploit). I inmediately started working on a game, that I had in mind for a long time. This eventually became Toy Wars.

Some other source and docs produced mostly during the development of Toy Wars on PSP can be found here. These sources were branched from the "official" sources at and by now are probably outdated and most likely not easy to find on the internet.

GC/Wii dev

I always liked the GC/Wii scene for its high quality software. They seem to be well integrated with other projects such as Dolphin. It was possible to create a demo and run it on the emulator with a very high confidence it would work on hardware too (and vice versa).

The most relevant project in this space was my port of Toy Wars to both GC and Wii. Due to the lack of OpenGL support on these platforms I wrote a GL wrapper to enable a straightforward port (since there were already ports for SDL and other libraries). Here it is:

OpenGX: OpenGL-like implementation for GC/Wii

Check out Toy Wars to see it running on GC/Wii. The only relevant changes for the platform were (appart from the library support lacking) an audio subsystem at 48KHz instead of 44.1KHz and some Vsync issues related to the different TV modes.