[Chad Burrow] decided to take on a noble task—building a “retro” style computer and video game console. Only, this one is built using somewhat modern hardware—relying on the grunt of the PIC32MZ2048EFH144 to get the job done. Meet the Acolyte Hand PIC’d 32.
It’s name might be a mouthful, but that chip can pull off some great feats! With a clock speed of 200 MHz, it’s not short on processing power, though RAM and flash storage are somewhat limited at just 512 KB and 2MB respectively. [Chad] was able to leverage those constraints to get a VGA output working at a resolutions up to 800 x 600, with up to 65,000 colors—though 256 colors is more practical due to memory concerns. The Acolyte Hand also rocks two 8-bit audio channels. It has a pair of Genesis-compatible controller ports as well as PS/2 and USB for keyboards and mice, along with more modern Xbox 360 controllers.
[Chad] cooked up some software to put it through its paces, too. It’s got a Tetris clone on board, and can also run Game Boy games at full speed via the Peanut-GB emulator. That provides for a pretty rich game library, though [Chad] notes he plans to develop more native video games for his system to demo at his local college. Design files are on Github for the curious.
This project is a great example of just how powerful modern microcontrollers have become. Once upon a time, just driving a simple black-and-white graphical LCD might have taken some real effort, but today, there are pixels and clock cycles to spare in projects like these. Truly a wonderous world we live in!
Very well done, the sample games look promising! 😃👍
That being said, I can’t help but have to mention to the laymen here that newer tech isn’t automatically “superior” to an 8/16-Bit game console from 80s or 90s.
The Super NES and Genesis had features such as parallax scrolling, tiles and independent graphics layers that even hot-rod PCs or Macs in the 90s didn’t have.
These independent layers and the tiles are not to be underestimated, because they allowed for lots of animation on screen with little CPU usage.
Things like water effects or moving clouds are popular examples, maybe.
LOL, SRAM & Flash “somewhat limited” at 512k and 2MB !?
For an MCU (as in “Micro-controller”, you know), that’s about as phat as it gets.
“Limited” only when compared to full-blown SBCs, but that’s apples vs oranges ofc
Well, I have worked on projects where that amount was not enough. 4MB of flash was filled up with just pure code, actual data was stored in an additional 512k flash (still within the mcu, just different than the code flash). Big project, about 1 million lines of code. You would be surprised how big some things can get (especially generated stuff from simulink).
PIC FTW!