Skip to content
0:00 / 0:00

#supermarioworld#arbitrarycodeexecution#assembly

Super Mario World Credits Warp Explained

Frieze

7.7K subscribers • 1 video on Hallway

YouTube
  • Recommended by 3 people: 2 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2018.
  • May be out of date. Uploaded 11 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

637K views11 years ago3 recommendations

SecurityGame developmentExploits and vulnerabilitiesRetro games and consolesGame programming

An animated explanation of how players exploit memory corruption in Super Mario World to achieve arbitrary code execution and trigger the credits.

Thanks to p4plus2 and masterjun for proofreading my script so I didn't mess things up too badly. This video is not an assembly tutorial--if you don't understand the assembly parts and you want to know more there are plenty of resources on the Internet. I tried to make something very complicated into something simple enough that a random person could at least kind of understand. Some of my illustrations are "wrong," and I know that. If I made everything technically correct it would be either a) too difficult to animate or b) too difficult for a random person to understand. Otherwise, if you have any questions, feel free to ask and I'll try to answer. Link to video tutorial of this route: youtu.be/rOrTN50QGR8

Why it's here

3 people recommend this

What people say. Recommended as an exceptionally clear and accessible explanation of arbitrary code execution and memory manipulation in retro games.

u/simpleuserin r/ReverseEngineering • Recommends

glitching Super Mario World (w/ technical details)

JonnieCacheon Hacker News • Recommends

On “MarI/O – Machine Learning for Video Games”

…different speedrunners were competing to execute the "credits warp" in the quickest and most efficient way. It started at around 6 minutes, now it's down to around 2 I think, most of which is the game's intro. Fun stuff. SethBling was the first person to ever execute it on a real console. Here's a video explaining it, from a different speedrunner: link to this video…

mlinseyon Hacker News • Recommends

On “Mario Kart Wii: The History of the Ultra Shortcut [video]”

The most interesting speedrun I've ever seen is the Super Mario World credits warp, which requires the player to write + execute arbitrary code in game by carefully positioning koopa shells. At first thought to only be possible with tools in an emulator, this has been done on an actual console! Summoning Salt video about the overall history of SMW speedruns: link Detailed explanation of how the credits warp exploit works: link to this video

lovehashbrownson Hacker News • Mentions

On “A man accused of cheating at video games may lose his Guinness World Record”

There are some games where you can modify the program state to glitch to the end, like Super Mario World: link to this video The explanation for the glitch is really interesting. But something like this has to be given its own category. There's a Super Mario World category that allows for that "Credits Warp" glitch. The other categories have different rules for what you can and can't do. So it's possible that Todd did something funky, but that would still make his scores illegitimate.

NobodyNadaon Hacker News • Mentions

On “Donkey Kong Country 2 and Open Bus”

Open bus quite literally means that the data bus lines are an open circuit -- the CPU has placed an unmapped or write-only address on the address bus, and no hardware on the bus has responded, so the bus lines aren't being driven and are just floating. Thus, nominally, this is a case of undefined behavior at the hardware level. In order to understand what actually happens, we need to look a little closer at the physical structure of a data bus -- you have long conductors carrying the signals around the motherboard and to the cartridge, separated from the ground plane by a thin layer of insulating substrate. This looks a lot like a capacitor, and in fact this is described and modeled as "para…