Skip to content
0:00 / 0:00

#supermario64#bitflip#cosmicrays

TTC Upwarp: Ceiling Warp vs Byte Change

UncommentatedPannen

135K subscribers • 3 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • May be out of date. Uploaded 11 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

321K views11 years ago1 recommendation

Game developmentSystems programmingGame programmingMemory management

An analysis comparing a mysterious Super Mario 64 upwarp glitch to a single-bit memory change.

First, I compare DOTA_TeaBag's upwarp to warping straight to the ceiling (at -173). Second, I compare DOTA_TeaBag's upwarp to changing the first byte of Mario's height from C5 to C4 (from C5837800 to C4837800, or from -4207 to -1051.75). I must say, the second method looks more similar. Note that DOTA_TeaBag's stream is (1) choppy, (2) might have twitch lag, and (3) might have N64 lag. Thus, I'd say there's a small margin of error, explaining the slight difference in timing of the damage in the second comparison. Additionally, you can compare the camera angles caused by the upwarp, and you'll notice that they match much more closely in the second comparison than the first comparison. For the record, the change from C5 to C4, is a single bit change, where one bit changes from a 1 to a 0: from 11000101 to 11000100. *****NOTE FOR PEOPLE WHO THINK THIS SOLVES THE UPWARP BOUNTY***** The random bit flip hypothesis shown in this video is just the current leading hypothesis. Before that, it was the ceiling seams, and before that the bob-omb/explosion/coin, and before that landing on the platform/wall at the same frame. Frankly, a gamma ray happening to flip a particular bit seems a bit far-fetched to me. It's completely possible that some in-game mechanic treats the height float like an integer and decrements it, thus decreasing that bit from a 1 to a 0, in which case the glitch would be reproducible, and the bounty would be awarded to the person who submits that. The bounty is not rewarded for hypotheses as to what caused the upwarp, otherwise the bob-omb or ceiling hypotheses would have "solved" it long ago. So is the upwarp caused by the bit change? The comparison videos didn't match exactly, so nothing is certain. At this point, it's just speculation. Without any sort of replication of the original glitch, we can't know anything for sure.

Why it's here

1 person recommends this

What people say. Engineers point to this video as a famous real-world example of a suspected cosmic ray bit-flip affecting program state.

u/Putnam3145in r/compsci • Recommends

On “How are unique links or strings like Bitcoin wallet address generated? At one point it seems that checking if that string is taken seems not efficient, is it just taking the chance and hoping such string will never be generated again ?”

> a random meteoroid. Not likely, but cosmic rays are known to cause issues. This sort of random-chance bit-flipping has even been [caught on footage, affecting the state of a program, and caused a bit of a kerfuffle].