So I had a stray Raspberry Pi Model A hanging around in the cupboard which I stumbled upon just recently. Having dabbled with embedded Linux more and more recently, I figured this would be the perfect opportunity to start developing something interesting for it and put it to good use.
I have always enjoyed gaming a lot, but I never got into portable gaming. Mobile games don’t really cut it, either. It has to be something like a GameBoy, but less bulkier. Like a Nintendo DS, but more versatile. Preferably the whole system would be under my control. And a ton of battery life… Like, a TON. As much as I can comfortably hold in my hands. I hate charging devices.
I read about the topic for a while and came to the conclusion that it is very much possible to emulate older consoles on this hardware, and that software for that purpose has already existed for a long time. There are complete packages for Raspberry Pi that achieve this purpose, namely Retropie. Including this in the distro or adapting parts of it should be no problem. More of this later.
To make it extra retro, it needs a proper display. Something low-powered and already with a fitting resolution, such as 320 x 240. A crisp TFT display was found, called PiTFT. This uses the SPI bus to communicate with the Raspberry Pi. There are solutions to make the display support OpenGL accelerated sources, but that is beyond the scope of this post.
It looks awesome. Perfect for some low-res gameplay.
Other components of the system will feature small speakers, power management and distribution, and custom distribution for the Raspberry Pi. The controls will be modified later from an SNES USB controller. I’ll write a post regarding that later.
Wanting full control of the software, nothing less than a completely custom embedded Linux distribution will suffice. This will be achieved with The Yocto Project. This will enable me to build a system fully configured to my specific needs, and it’s perfect practice for bigger projects in professional environments.
I’ll update the blog with baby steps as I go figure the whole thing out.