Sure, you can play a bunch of retro games on a Raspberry Pi, but if you’re really hardcore, you build your own retro console and write your own games for it. [Nicola Wrachien]’s entry into this year’s Hackaday prize is his DIY Cortex M0+ game console and the platform game he wrote to test the hardware.
The board that [Nicola] is using is the uChip, a small DIP board based around a ATSAMD21 (the same chip that runs the Arduino Zero). That, along with a 160×128 TFT LCD screen, makes up the bulk of the hardware. A carrier board holds both of these as well as several buttons and an OpAmp.
The ATSAMD21 chip has decent hardware DMA that [Nicola] is using to get the frame rate needed. Since the DMA hardware and the CPU can work at the same time, while the DMA is handling one chunk of graphics, the CPU is working on the next chunk. Using this system, [Nicola] is able to get a better framerate than originally designed. Take a look at [Nicola]’s webpage for more details on the algorithm used.
In order to create a level in the platformer that [Nicola] made to show off the console, [Nicola] created a full blown level editor in Java. Using the editor, you can place the tiles and sprites and set their behaviours. The map can then be exported in an optimized format for loading on to the hardware and into the game.
A video showing off the game is after the break. There’s no shortage of great DIY consoles on the site — check out this impressive vector console, or if RetroPie is more your thing, take a look at this DIY Zelda-playing device.
Continue reading “DIY 40FPS 16bpp Platformer On A Cortex M0+”