Jump to content
Sign in to follow this  
Tempest

Super Mario Bros. Minus World Explanation

Recommended Posts

Ok we all know about the SMB minus world trick/bug, but why does it happen? What causes this glitch? Does a level pointer get set to a wrong location or something like that? How come the game doesn't crash, but creates a whole new (endless) level?

 

Anyone ever take a look at the SMB code and figure this out?

 

Tempest

Share this post


Link to post
Share on other sites

Well I think I found a good explaination:

 

Tempest

 

 

The Minus World is actually World 36-1 of Super Mario Brothers for the NES. It does not appear in the coin-op Vs. Super Mario Brothers, Super Mario All-Stars for Super NES, or Super Mario Bros. DX for Game Boy Color. Start by coming to the end of World 1-2 with fireball power. Break the ceiling above the pipe out of 1-2 EXCEPT the last block on the right. Now jump through the left side of the block you left. The game's buggy early collision detection will push Luigi or Mario through the ceiling and wrap him around the side of the screen. Shoot the plant and jump down the pipe before WELCOME TO WARP ZONE appears.

 

You are now in world (SPACE)-1. Character 36 in SMB's font (after 0-9A-Z) is an empty tile, used for the space character. If you duck down a pipe before SMB throws up the warp zone menu, it reads the space from the screen and interprets that as the level number. World 36-1 just happened to point to a water level with a map the same as that of 2-2. According to Pseudo_Intellectual, this level (which he calls Minusland) eventually ends after eight or so laps and takes you to 8-4 at the end.

 

If I were porting Super Mario Brothers to another console or computer, I would special-case a space character and send the player to World 2-2, a legitimate water level. Too bad Nintendo decided just to fix the collision detection in Super Mario All-Stars, the Super NES port of SMB.

 

I haven't gone into the warp zone code with a debugger, but commented 6502 source code for SMB at one time was available at http://darkcode.tripod.com . The code may be reading from world 4-2's underground warp zone, the one with a single pipe in the middle that leads to world 5 (and has space characters on either side).

Share this post


Link to post
Share on other sites

Invalid pointers. Basically because the 3 pipes haven't been activated for warp world (before Welcome to Warp Zone message), the value assigned (2, 3, and 4) isn't there so you end up with a blank space in place of the world number (hencing the name minus world) Because it's not a valid value, you get stuck in the wrong area of the cart's memory for the game's layout and the pipe in the end. Since no valid value is assigned for that pipe, you get back to the begining of world -1.

Share this post


Link to post
Share on other sites

So apparently, instead of reading the level number from memory, it just reads the character from the screen... so if you seached through the rom for the "welcome to warp zone", could you then replace the numbers with whatever you wanted, thus forcing the pipes to take you to places like Z-1 (or even legitimately take you to actual levels) without exploiting the collision detection?

 

It's possible that whatever invalid memory Z-1 would point to might be less "friendly" than (space)-1, and cause a crash or something.

 

--Zero

Share this post


Link to post
Share on other sites

I could have sworn that it was possible to do the minus world trick on Super Mario All Stars for the SNES. It seems like I've watched someone do it.

 

I've never been able to get it to work on the NES cart in the first place.

Share this post


Link to post
Share on other sites

I'm more confused about the part where it says the level ends after eight laps. Is it even possible to get through it eight times in the time you're alloted? Something tells me if that was possible someone would have done it back in the day and everyone would know about it.

 

Tempest

Share this post


Link to post
Share on other sites

I don't know if it's possible or just BS but there are Game Genie code for infinite timer. I'll have to find the Game Genie and the code book.

Share this post


Link to post
Share on other sites

PM me for any Game Genie codes. I am at work so I don't have the book on me right now.

Share this post


Link to post
Share on other sites

I just went through the minus world full force. I was able to get through it 7 times going full force without breaking stride when time ran out, I don't think it'd be possible to get through 8 times without the game genie code for infinite time.

 

Why is it that you end up in world 5-1 if you go down the middle pipe instead of the first pipe when you slide through the wall? What's the coding glitch there?

Share this post


Link to post
Share on other sites
Why is it that you end up in world 5-1 if you go down the middle pipe instead of the first pipe when you slide through the wall? What's the coding glitch there?

 

This may answer your question:

 

>>I haven't gone into the warp zone code with a debugger, but commented 6502 source code for SMB at one time was available at http://darkcode.tripod.com . The code may be reading from world 4-2's underground warp zone, the one with a single pipe in the middle that leads to world 5 (and has space characters on either side).

 

Tempest

Share this post


Link to post
Share on other sites
Why is it that you end up in world 5-1 if you go down the middle pipe instead of the first pipe when you slide through the wall? What's the coding glitch there?

 

This may answer your question:

 

>>I haven't gone into the warp zone code with a debugger, but commented 6502 source code for SMB at one time was available at http://darkcode.tripod.com . The code may be reading from world 4-2's underground warp zone, the one with a single pipe in the middle that leads to world 5 (and has space characters on either side).

 

Tempest

 

Thanks, that makes a lot of sense actually. When you start going down the pipe, the left and right pipe disappear and the welcome to warp zone 5-1 message comes up.

Share this post


Link to post
Share on other sites

I thought I had my own pretty reasonable explanation.

 

http://jasoco.no-ip.com/minusworld.php

 

But it's nice to see an actual technical explanation.

 

But anyone know where one can find the source code again? Or the site that seems to be gone now? I really need to see that code.

 

How does he explain the Japanese FDS version of the Minus World which is completely different?

 

Of course, I still feel confident in my own explanation.

 

Must see the code, though. Or the site.

 

 

You can do the trick in SMBAS, but it will still take you to world 4. Jasoco posted a pic over at the playnintendo forum proving it.

Here's that picture. For a larf I decided to see if it would actually work. I was shocked when I saw myself sucked into the wall in the SNES version. But wasn't surprised in the least when it turned out to take me to the correct world.. Sadly.

throughthewall.jpg

Share this post


Link to post
Share on other sites

We always called that phenomenen Negative World.... sounds kinda better to me than Minus. It doesn't matter, I guess, but I can't deny that a part of me hopes it doesn't catch on. Just doesn't have the flair of NEGATIVE WORLD.

Share this post


Link to post
Share on other sites

But anyone know where one can find the source code again? Or the site that seems to be gone now? I really need to see that code.

Lucky you :D

I just uploaded a SMB disassembly to The Nintendo Difference's code vault ;)

http://www.geocities.com/happy_dude_2600/c.../codevault.html

WARNING: It's really nasty. If anyone knows of a nicer dis-asm of SMB (or any NES games really) PM me.

Share this post


Link to post
Share on other sites

But anyone know where one can find the source code again? Or the site that seems to be gone now? I really need to see that code.

Lucky you :D

I just uploaded a SMB disassembly to The Nintendo Difference's code vault ;)

http://www.geocities.com/happy_dude_2600/c.../codevault.html

WARNING: It's really nasty. If anyone knows of a nicer dis-asm of SMB (or any NES games really) PM me.

Too bad I don't really know a thing about Assembly. I just like to have copies of code for stuff.

 

Is that the whole game? What is the story?

Share this post


Link to post
Share on other sites
Too bad I don't really know a thing about Assembly. I just like to have copies of code for stuff.

 

Is that the whole game? What is the story?

Well it was laying around my HDD so I don't know the story :P

The CHR-ROM isn't in there. But it is the whole game code.

Share this post


Link to post
Share on other sites
Too bad I don't really know a thing about Assembly. I just like to have copies of code for stuff.

 

Is that the whole game? What is the story?

Well it was laying around my HDD so I don't know the story :P

The CHR-ROM isn't in there. But it is the whole game code.

[Wishes he knew programming. Wishes he knew programming other than Basic.]

Share this post


Link to post
Share on other sites

I probably shouldn't be but I have to say I am impressed with the extensive documentation offered on this subject. This is a good example of the Internet as a source of information. Great work guys!

 

Changing subject, why would Nintendo eliminate such a neat trick? I remember it was quite popular in the early days of Nintendo Power (and apparently it still is). IMO The "minus bug" has become a "feature" of the game. Newer versions feels less without it :P

Share this post


Link to post
Share on other sites
I probably shouldn't be but I have to say I am impressed with the extensive documentation offered on this subject. This is a good example of the Internet as a source of information. Great work guys!

 

Changing subject, why would Nintendo eliminate such a neat trick? I remember it was quite popular in the early days of Nintendo Power (and apparently it still is). IMO The "minus bug" has become a "feature" of the game. Newer versions feels less without it  :P

Well, seeing as it was an unintended bug, they didn't feel it right to purposely put it back in.

 

I like how they handled it in the Japanese SMB2. By removing the bricks next to the pipe. Sneaky sneaky. "If you can't fix it, create a workaround."

 

I wonder if that means the bug's still there. All someone has to do is find a ROM of SMB2 Japan and hack the bricks back in. Or easier yet, remove the wall. Walk right into the room down the pipe. See if it still happens.

Share this post


Link to post
Share on other sites

Well that was thorough. My 6502 is rusty, but I think I actually understand most of that. Have you looked at the Famicom Disk version of the game?

 

Tempest

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...