Let me tell you a little bit about a project I’ve been working on for the past few weeks. The NES Sprite Display is an Arduino-based program to display assorted NES-era game sprites (primarily Super Mario and Zelda) on a large 32×32 LED matrix. It looks a little something like this:
The inspiration for this project came from a couple of different sources. Portland has an arcade bar, Ground Kontrol, that offers a Pac Man clock for sale. This looks like it’s probably a 32×16 LED matrix. It displays the time, with refreshes occurring via ghost and Pac-Man animations. ($75, while supplies last.) Second, I saw a vendor at the Portland Retro Gaming Expo (sorry, I didn’t catch which one) that offered a smaller 16×16 LED matrix, in a nice wooden display case, that did similar animations. This was several hundred dollars. I figured I’d try my hand at making something fun, influenced by these two products.
This display borrows some sprites from assorted Zelda and Super Mario games. In brief, the workflow for remastering those sprites and converting them to code goes through three steps. First, we start with transparent PNG files.
Next, we use a custom app I threw together to convert multiple images into paletteized images, but in a JSON format. We then end up with a set of numbers:
Finally, this gets loaded into a custom HTML app that allows for previewing, editing, and converting into
*.h code header files.
These snippets of code then get included in the Arduino code, which is responsible for display and animation.
For a ton more detail, take a look at the project and its documentation at https://github.com/BrianEnigma/NES_Sprite_Display.