Codebending: Super Mario Spacetime Organ

Last year, my friend Chris Novello closed the 2012 Open Hardware Summit with a demo similar to this performance — remixing SMB in ways nobody had ever thought of before — to wild and well-deserved applause, I might add. Here he is doing it again! He writes:

In this video, I directly manipulate the RAM state of Nintendo’s Super Mario Brothers to transform it from a game into a strange instrument.

First, I play the game as it is traditionally played.. but I have access to the game’s memory, so I change Mario’s Y position using the Madrona Labs Soundplane (a surface that sends data to the computer about where it is being touched). This is how I hover Mario during the playthrough.

Also, before I start playing, I flip a switch on illucia that I assigned to trigger recording — not video, but actually recording the entire memory state of the NES for each game frame.

Think about it – Mario’s universe is held in RAM, which the NES uses to draw his world for each frame of the game. By recording the entire state of the NES memory for every frame, I’m able to go back to any moment in Mario’s life.

So then I use the X-axis of the Soundplane to sweep through the timeline of Mario’s universe.

Not only that, but the Soundplane is multitouch, so I use a second finger to specify start and endpoints in a playback loop. Technically, this is similar to the way samplers and granular synths work in audio.. but with the entire memory state of the NES. Conceptually, it is like Super Mario meets Groundhog Day. Mario’s universe computer/time machine gets caught in hellish loops.

Then I start using illucia to send alien data into various other places in Mario’s universe, which makes for all sorts of audiovisual insanity amidst the spacetime loops. This is sort of like circuit bending, but in a protected sandbox – at any point I can revert back to the clean recording of RAM states (aka moments in Mario’s universe).

I then try to go back to “playing” the game, watching Mario navigate a melting world of glitched-out ephemera. I then push things into full on glitch insanity. I use a pair of rubberband mallets on the Soundplane to jump around in Mario’s universe while leaving illucia to send a heavy stream of alien data into Mario’s RAM state. I eventually (accidentally/luckily) land at a place that triggers the game over music, and end the take.


Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: Programming Pi 5 PIO, CircuitPython & VSCode and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — Halloween, WiLo, and more!

Maker Business – Adafruit Daily — Slipping through Nvidia’s grip on A.I. chips

Electronics – Adafruit Daily — Crouching LED, Hidden Photodiode

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.

Sorry, the comment form is closed at this time.