Playing Mario on an Oscilliscope

Any display can be connected to a microcontroller and used as a display if you know the protocol to use and have enough power in your micro. Sometimes, an odd display is used just “because it’s there.” This seems to be the case for Reddit user [phckopper], who has used a STM32 and a PS2 joystick to play a version of a Mario game on an oscilloscope.

There’s not many technical details but [phckopper] lets us know that the rendering is done using the SPI on the STM, transferred via DMA, which is synchronized to two saw-tooth waves that are fed in to the X and Y axes of the oscilloscope.  The Z axis, which controls the brightness of the dot, is fed from the MOSI. By making the oscilloscope range all over the screen, similar to the way a CRT’s gun does, [] is able to draw sprites, rather than vector graphics. The display has a resolution of 400×400 and each sprite is 16×16. The input is from a PS2 joystick connected to [phckopper]’s PC, with the information communicated over UART using a simple protocol.

We don’t get to see much of the game in the video after the break, but it’s a pretty impressive job nonetheless, especially when you realize that [phckopper] did this project when he was just sixteen! There are a couple of other oscilloscope projects here at Hackaday, like this one, a great version of pong played on the ‘scope, or this one, showing off some great graphics.

[via Reddit]

8 thoughts on “Playing Mario on an Oscilliscope

  1. I suppose old CRT scopes are cheap and plentiful these days.

    As a kid I used to buy old TVs, game consoles and outdated computers (the really old ones that plug into TVs and would be semi-collectables now) at garage sales all the time. Oscilloscopes were on my “really want” list but totally beyond my reach.

    Yeah, I know. Times have changed. But… Every time I see someone playing games or drawing pictures, etc… on a scope my inner garage-sale kid is screaming noooooooooooooooooooo! Save those precious phosphors for displaying a waveform!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s