How does the −1 bug work in Super Mario Bros Rom

World −1 in the original Super Mario Bros Rom. – one of the most famous bugs on NES. If you enter the transition zone (Warp Zone) in a special way, the game is buggy, and when you enter the pipe, you find yourself in a strange world.

You can get into world −1 by almost passing level 1-2 and standing on a pipe leading to the surface of the earth, to the flagpole and the end of the level. Then you need to move to the left edge of the pipe, bend down and bounce to the right so that going down Mario is almost under the ceiling. It may take several attempts, but as a result, it will get to the desired point and will automatically pass through the pipe, and then through the wall into a room with a transition zone. If at least one pixel of the pipe is not visible, Super Mario Bros Rom Download will be trapped and the player will have to wait until the time runs out.

Another way to get into the world −1 is to break two brick blocks on the ceiling, leaving the rightmost one. Then you need to go to the left end of the pipe and jump to the right. It is not necessary to bend down in this case, because Mario may try to hit (without actually destroying it). In this case, the game will crash, and Mario will be able to go through the pipe and wall. But this method is more complicated and long. If everything is done correctly, the player will see in front of him three pipes of the transition zone. If you go down to the middle pipe, he will go to level 5-1. In case the right wall of the transition zone becomes visible, the bug ceases to work.

But this is not the whole story of why this bug works. Some say that this happens because the world number is not displayed on the screen of the transition zone above the pipe when you enter it. But this is not true, and those who have an understanding of the mechanics of the game will never believe such an explanation. After reading this article, you can tell dreamers what is really happening. In this article, we will analyze and reveal in detail the secrets of the “world minus one” bug.

How transition zones work

To understand how we get into −1, we first need to figure out how the Warp Zone works. The game has three such zones: one at the end of the world 1-2 (to go to worlds 2, 3 or 4), the second at the end of 4-2 (moves to world 5), and the third can be reached by a vine in world 4- 2 (and choose world 6, 7 or 8). Let’s see how the game finds out which worlds the transition zone should lead to.

The zone numbers are stored starting from the offset $ 87F2 of the running program, the data is as follows: 04 03 02 00 24 05 24 00 08 07 06 00(00 separate the zones from each other). The first 4 bytes belong to the zone in the world 1-2, the next 4 bytes to the underground zone of the world 4-2, and the last 4 bytes to the aboveground zone of the world 4-2. We can prove it by hacking the game. I used the HEX editor to change the value of 04 to 08, and see what happened:

The next part of the data (red in Figure 1) refers to the underground zone in world 4-2, and consists of 24 05 24. This corresponds to the transition to the world of $ 24 (36) through the left pipe, to world 5 through the middle pipe and again to the world $ 24 (36) through the right pipe. But the left and right pipes do not exist, so we can only get into the world 5. What does 24 mean in the transition zone? Numbers $ 24 at Super Mario Bros. empty spaces are indicated. They are needed because the offset $ 87F2 indicates not only WHERE the pipes move, but WHAT to write on them. The transition zone object should always draw three tiles corresponding to the zone pipes, but since there is only one pipe in the second zone, the game draws empty spaces on the left and right. We can show a hack that changes these values ​​on the left and on the right to render the values ​​we don’t need. Super Mario Bros Rom Download

These transitions technically work anyway, we just can’t use them without a pipe. I inserted another pipe in a hack to show you what happens when you enter a pipe that transfers to world 36. As a pipe with number 5 takes us to world 5, so a pipe without a number takes us to world _, that is, to level −1

Since technically $ 24 means 36, we are actually transported to the world 36. But the game denotes this number as an empty place, so it seems that we are in the world _. Actually, this is world 36. But wait, there are 24 values ​​only in the second zone. How do we get into this world from level 1-2?


Leave a comment

Your email address will not be published. Required fields are marked *