The Minus World and the Blue Screen Of Death

When the computer crashes, it seems like it’s frozen. Actually, it’s still working as fast as usual. It only appears to be stuck because it isn’t responding to you. The computer is too busy to take input because it’s in a loop, executing the same short list of instructions over and over.

Computers have become so fast that you can’t see what they’re doing on an instruction-by-instruction basis, so it’s hard to get a feel for what’s going on in a looping failure.  Fortunately, Super Mario Bros has a famous bug known as the Minus World that lets you study an infinite loop in an entertainingly interactive form.

If you haven’t had the pleasure, here’s the basic topology of Super Mario Bros. There are eight worlds of four sections each. Each world is progressively more difficult. Super Mario Bros was developed during the  arcade era, before the notion of saving your progress took hold. So every time you play, you have to start at the very beginning of world 1-1. This can get tedious, so out of sympathy to the player, Nintendo included a few shortcuts in the game called warp zones.The warp zones are hidden, and while it’s possible to discover them by accident, it’s unlikely. Back in the eighties it was easier to just subscribe to Nintendo Power magazine to find out where they were. This was a very clever business move on Nintendo’s part, because it was a way to get kids like me to pay to read advertising for Nintendo products.

The first warp zone is at the end of world 1-2, an underground dungeon. In this world, there are various places where you can get through holes in the ceiling, enabling you to run merrily along past all of the obstacles and foes. If you run along the ceiling past the exit, you come to a hidden room. In this room are three pipes leading to worlds 2-1, 3-1 and 4-1.

The “walls” in video games aren’t solid objects. There’s just a big database of all the screen regions, with some code specifying the collision rules for each region. Normally, when the Mario sprite occupies the same screen region as a brick sprite, the database specifies that Mario should bounce off. The Minus World bug lies in a particular entry in world 1-2’s list of bricks. If you jump at the buggy brick from the right angle, you slide right through it, passing through the wall and into the warp zone.

Jumping through the wall interacts with other code in the game, so that instead of providing you with a shortcut to world 4-1, the rightmost pipe in the warp zone deposits you in what appears to be World -1.

The level is actually numbered “36-1,” but the number 36 is represented by a blank tile for some reason, so it looks like level minus one. The so-called Minus World resembles the underwater levels 2-2 and 7-2.

When you reach the pipe at the end normally leading to the exit and the next level, you are instead deposited back at the beginning of the Minus World. There’s no escape from this loop, until you run out of time and the game ends.

Like most computer failures, the Minus World bug is a soft failure, a memory issue. When you turn off the computer, memory gets erased. That’s why rebooting the NES cures the Blue Screen Of Death, at the expense of whatever unsaved data you had in memory. You can cure the Minus World bug by rebooting your Nintendo, but like I said, Super Mario Bros offers no way to save your game state. Oh well, the zen Buddhists would approve.

3 thoughts on “The Minus World and the Blue Screen Of Death

  1. 1. The arcade version came out in 1986, whereas the NES version came out in 1985.
    2. The fact that the glitch results in a blank tile for a world number is not a coincidence. It is closely tied to the Warp Zone to world 5-1, specifically the fact that that Warp Zone has only one pipe while 1-2’s has three.
    3. 1-2 doesn’t have a “buggy brick”. You can do the wall walk glitch at any similar arrangement of bricks in the game. It’s just that glitching at this particular location has an interesting side effect.
    4. The Minus World going to 2-2/7-2 is essentially happenstance in its programming: the game ends up trying to interpret unrelated data as if it were a level number. The data happens to be different on the Famicom Disk System, which is why that version’s Minus World is different.
    5. The Minus World *is* level 7-2, just with a broken mechanism to control where the pipe at the end of the level is supposed to go. The object data for the levels contains commands like, “if the world number is X, the next pipe shall go to world Y at screen Z”. This data for the level has entries for worlds 2 and 7 (and an unused entry for 3). Since obviously 36 wouldn’t be in such a list, the game gets confused and reloads the level it just loaded – hence the infinite loop.

Comments are closed.