The later game consoles of the 8-bit era such as Nintendo’s NES or Sega’s Master System produced graphics that went beyond what owners of early 1980s home computers had come to expect from machines with the same processors, but they did so only with the help of powerful custom chipsets for their day that took care of the repetitive hard work of assembling frames and feeding them to the display device. Reproducing their equivalent with more modern hardware requires either some means of creating similar custom silicon, or a processor significantly more powerful such that it can do the work of those extra chips itself. But even with a modern microcontroller it’s still a significant challenge, so [Nicola Wrachien]’s uChip, a VGA console that does the whole job in software on a humble ARM Cortex M0 is a significant achievement.
If you are familiar with the home computers that used the processor to generate the display output, you’ll know that they spent most of their time working on the lines of the display and only had a few milliseconds of the frame blanking period for the device to perform any computing tasks before returning to the next frame. The 320×240 at 57 frames per second gives a line sync frequency of 30 kHz, and the computing happens while the display is sent the black space at the top and bottom of the screen. This is reckoned to be equivalent of the ATSAMD21E18 microcontroller on the uChip module the system uses running at only 10MHz rather than the 48MHz it is running at in reality, and with these resources it also runs the game logic, USB controller interfacing, reading games from the SD card, and game sound.
The result is a complete game console on a small PCB little longer on its longest side than its connectors. We may have largely seen the demise of VGA on the desktop several years after we called it, but it seems there is plenty of life in the interface yet for hardware hackers.