Super Mario Bros. 3

From The Cutting Room Floor

(Difference between revisions)
Jump to: navigation, search
m (Para-Beetle Swarm)
(Moved to a notes page, as has been done before.)
(23 intermediate revisions not shown)
Line 20: Line 20:
==Sub-Pages==
==Sub-Pages==
-
{{subpage|Unused levels|  
+
{{subpage|Unused levels|image=SMB3Hammer7.png|width=64|text=16 levels only accessible by hacking.}}
-
image=SMB3Hammer7.png|
+
{{subpage|Unused graphics|image=SMB3ToadStatue.png|width=32|text=Quite a bit packed in here.|min-width=64}}
-
width=64|
+
{{subpage|Version differences|image=Smb3_suit.png|width=64|text="Miss twice and your out!"}}
-
text=16 levels only accessible by hacking}}
+
{{subpage|Unfinished bonus games|image=SMB3Bonus1.png|width=64|text=Bonus game data left in the ROM.}}
-
{{subpage|Unused graphics|  
+
 
-
image=SMB3ToadStatue.png|
+
== Developer Debug Leftovers ==
-
width=32|
+
 
-
text=Quite a bit packed in here.|
+
There is some leftover debug routines from the developers although none of it can be accessed without cheat devices or hacking.
-
min-width=64}}
+
 
-
{{subpage|Version differences|  
+
 
-
image=Smb3_suit.png|
+
=== Level select and debug menu/mode ===
-
width=64|
+
-
text="Miss twice and your out!"}}
+
-
== Level select and debug menu ==
 
[[File:smb3-debug.gif|right|The walls have eyes!]]
[[File:smb3-debug.gif|right|The walls have eyes!]]
The Game Genie code {{hex|KKKZSPIU}} activates SMB3's level select and debug mode.  
The Game Genie code {{hex|KKKZSPIU}} activates SMB3's level select and debug mode.  
Line 51: Line 48:
The menu shown in the picture was found elsewhere in the ROM and hacked into the title screen; it doesn't appear if you use the Game Genie code by itself. Apply [http://bmf.rustedmagick.com/cr/files/smb3dbug.ips this IPS patch] to a Super Mario Bros. 3 ROM to see it for yourself.
The menu shown in the picture was found elsewhere in the ROM and hacked into the title screen; it doesn't appear if you use the Game Genie code by itself. Apply [http://bmf.rustedmagick.com/cr/files/smb3dbug.ips this IPS patch] to a Super Mario Bros. 3 ROM to see it for yourself.
-
{{source|menu found by BMF54123; code created by David Wonn}}
 
-
{{clear}}
 
-
==Unused 2P Level==
+
Originally it appears that this menu would have been accessible from the "1 PLAYER" / "2 PLAYER" selection menu if Player 2 was holding the A and B buttons together. It is also possible that this served some other purpose, but the above menu would be the most likely candidate. See [http://sonicepoch.com/sm3mix/asm/?asm=prg024 Disassembly source for PRG bank #24], search for "Title_Do1P2PMenu:"  Interestingly the button check is still there, but the action it was supposed to perform was overwritten with a series of {{hex|NOP}} (no operation) instructions, likely done just before release.
-
[[Image:SMB3Unused2PLevel.png|A golden rainbow]]<br />
+
-
There's a fourth 2P level in the game ROM. This has a large arc of coins and uses an otherwise unused block graphic. Presumably, the player who collected the most amount of coins would win, but the code that would handle this isn't in the ROM. Collecting the coins also leaves behind an incorrect tile.
+
-
{{source|Southbird}}
+
{{source|menu found by BMF54123; code created by David Wonn; disassembly by Southbird}}
 +
{{clear}}
-
== Unfinished bonus games ==
 
-
By modifying the attributes of the spade bonus tile with a map editor, one can access the remnants of two lost bonus games.
 
-
''('''NOTE:''' The graphics in the following screenshots may be partially or completely incorrect, as many of the original tiles were either moved around or completely overwritten in the final release. Assumptions were made based on the remaining sprite and background tile configurations.)''
+
=== Disconnected Debug Leftovers ===
-
=== Bonus game hosts ===
+
Even if you enable the debug mode above, there are a couple routines leftover that remain inaccessible. These routines do not seem to pay attention to the aforementioned debug flag, so either the check is simply lost to time or these routines were hardwired to always work.  The latter would make sense why they are disconnected from the source.
-
[[File:SMB3Hosts.png|Toad, behind you!]]
+
-
A Koopa Troopa and Hammer Brother were slated to host the lost bonus games. The CHR tiles (which appear twice in the ROM, for some reason) must be shifted around in order to appear correctly in-game.
+
* ''Free Movement Mode'' -- Unclear how this would be accessed, but would allow Player to press left/right/up/down to move Player around the level (See [http://sonicepoch.com/sm3mix/asm/?asm=prg000 Disassembly source for PRG bank #0], search for "$C3EA")
-
=== Question block game ===
+
* ''Toggled Invincibility'' -- Pressing SELECT would toggle whether the Player was completely invulnerable (See [http://sonicepoch.com/sm3mix/asm/?asm=prg000 Disassembly source for PRG bank #0], search for "$C91B" -- this behavior could be easily restored by retargeting the {{hex|JMP}} instruction or moving the Objects_HandleScrollAndUpdate label since this method would fall through into normal game code.)
-
[[File:SMB3Bonus1.png|I thought the Koopas were against Mario...]]
+
-
In this "game", the player is presented with a giant question block. When the Koopa Troopa is finished speaking, one of four items (depending on the spade tile's settings) will pop out, though you don't actually receive anything. It's currently not known which items were supposed to appear, as the original graphics were overwritten, though the sprite mirroring makes the Mushroom, Flower, and Star likely candidates.
+
{{source|Southbird}}
-
The code for this game is very incomplete, and jumps to the dice game routine after the item appears.
+
==Unused 2P Level==
 +
[[Image:SMB3Unused2PLevel.png|A golden rainbow]]<br />
 +
There's a fourth 2P level in the game ROM. This has a large arc of coins and uses an otherwise unused block graphic. Presumably, the player who collected the most amount of coins would win, but the code that would handle this isn't in the ROM. Collecting the coins also leaves behind an incorrect tile.
-
=== Dice game ===
+
{{source|Southbird}}
-
[[File:SMB3Bonus2.png|Let's roll the dice!]]
+
-
 
+
-
This game features a cycling die in the center of a blue question-mark panel. Pressing the '''A''' button stops the die and awards a bonus based on the displayed number, though none of them work properly. Getting a 3 or higher is supposed to give you coins (and several coins do indeed fly out), though all it actually does is increase your score. This may indicate that the coin counter in RAM was moved sometime after the game was abandoned.
+
-
 
+
-
Code-wise, the dice game is the most complete of the two lost games, though that's not saying much.
+
-
 
+
-
According to some leftover text (see the following section), a variation of this game was originally planned which would send you to either the "roulette game" (sliding picture game?) or the card game, depending on whether you got an even or odd number.
+
-
 
+
-
=== Unused text ===
+
-
This Japanese text, originally discovered in the US ROM, was to have been spoken by the bonus game hosts. Some of it can only be displayed by poking certain memory addresses while a bonus game is running.
+
-
 
+
-
<center>
+
-
[[File:smb3-text.gif|thumb|right|The original strings shown in-game.]]
+
-
{|class="wikitable"
+
-
!Japanese
+
-
!English
+
-
|-
+
-
| 1がでたら 1
+
-
 
+
-
2がでたら かぎを
+
-
 
+
-
それいがいは コインをあげよう
+
-
| For a "1" you get 1.
+
-
 
+
-
For a "2" you get a key.
+
-
 
+
-
You get coins for everything else.
+
-
|-
+
-
| きすうが でたら
+
-
 
+
-
ルーレットゲームを
+
-
 
+
-
やらせて あげよう
+
-
| Odd numbers will start a Roulette Game.
+
-
|-
+
-
| ぐーすうがでたら
+
-
 
+
-
カードゲームを
+
-
 
+
-
させて あげよう
+
-
| Even numbers start a Card Game.
+
-
|-
+
-
| 2 もどれ
+
-
| "2" [you have to/you can go] back.
+
-
|-
+
-
|  ものを やろう?
+
-
| Do you really want to [use/play/do] [something]?
+
-
|-
+
-
| 3かい プレイだよ
+
-
 
+
-
チャンスは 2かい
+
-
| There are three rounds.
+
-
 
+
-
You get two tries [per round].
+
-
|-
+
-
| おなじ カードを
+
-
 
+
-
2まい あててごらん
+
-
| Try to get the same card twice.
+
-
|-
+
-
| 2 もどれ
+
-
| "2" [you have to/you can go] back.
+
-
|}</center>
+
-
 
+
-
{{source|text discovered and graphics arranged by BMF54123}}
+
-
 
+
-
== Unused Spade Game Behavior ==
+
-
Normally, the spade game (slot machine) gives you only one chance to line up the pictures. However, this was not always the case! There is an unused counter at RAM address {{hex|$419}}, which is normally set to {{hex|00}}; setting it to any other value during the game will allow you to keep trying until either you win, or the counter reaches zero (whichever comes first). Simply press '''A''', '''B''', or '''Start''' to spin the reels again.
+
-
 
+
-
{{source|Xkeeper, BMF54123}}
+
==Unused Objects==
==Unused Objects==
 +
{{source|Southbird|Additional information}}
 +
===Object 04===
 +
'''Bank ID''': {{hex|00}}<br />
 +
'''Object ID''': {{hex|04}}<br />
 +
[[File:SMB3Object04Frame1.png|left|Nice numbers]][[File:SMB3Object04Frame2.png|and letters.]]<br />
 +
''Note: This is not how the object actually appears in game. Image is for reference only''<br />
 +
A very odd object. The tiles that actually make up this object are no longer in the ROM, but it was supposed to use tiles {{hex|B0-BF}}.<br />
 +
When Mario collides with this object, it will stick to him like a Micro-Goomba and will never come off. It doesn't hinder Mario's movement, it just...stays there.<br />
 +
It can be killed with a Koopa shell or Hammer.
 +
===Object 05===
 +
'''Bank ID''': {{hex|00}}<br />
 +
'''Object ID''': {{hex|05}}<br />
 +
[[File:SMB3Object05Frame1.png|left|More numbers]][[File:SMB3Object05Frame2.png|Not as many letters though]]<br />
 +
''Note: This is not how the object actually appears in game. Image is for reference only''<br />
 +
Another weird sprite. The tiles that actually make up this object are no longer in the ROM, but it was supposed to use tiles {{hex|A0-A7}}.<br />
 +
This walks around like a normal enemy. At a certain point in its walk cycle, it will jump up to Mario's Y position and then fall back down.<br />
 +
Interestingly, walking into it will bounce Mario in the opposite direction. The only way to get damaged by this object is to let it fall on you.<br />
 +
It can be destroyed with a Koopa shell or Hammer.
 +
===Object 0A===
 +
'''Bank ID''': {{hex|00}}<br />
 +
'''Object ID''': {{hex|0A}}<br />
 +
[[File:SMB3Object0A.gif|left|Who was the unfortunate Toad that got turned into this thing?]]
 +
''Note: This is the best fit for this object's graphics, but it may not be correct''<br />
 +
A simple stationary object that can be "pushed" by Mario. Its collision detection doesn't seem to be complete, though, since it can be pushed into walls.
 +
===Card Objects===
 +
'''Bank ID''': {{hex|00}}<br />
 +
'''Object ID''': {{hex|21}} (Mushroom), {{hex|22}} (Fire Flower), {{hex|23}} (Star)<br />
 +
[[File:SMB3FlashingCards.gif|left|Electric Solitaire Porycard]]
 +
These are stationary object versions of the cards found at the end of each level!<br />
 +
Collecting them will add the appropriate card, but there's nothing in the object code to handle when the player has 3 cards.<br />
 +
Getting to the goal with three of the same card won't trigger the 1-Up Bonus. You still have to get the appropriate third card from the goal.
===Gold Cheep-Cheep===
===Gold Cheep-Cheep===
'''Bank ID''': {{hex|00}}<br />
'''Bank ID''': {{hex|00}}<br />
Line 210: Line 163:
A cloud appears behind the first slope in World 5-2.
A cloud appears behind the first slope in World 5-2.
-
{{mario series}}
+
{{Mario series}}

Revision as of 02:17, 10 June 2012

Featured article

Title Screen

Super Mario Bros. 3

Developer: Nintendo
Publisher: Nintendo
Platform: NES
Released in JP: October 23, 1988
Released in US: February 12, 1990
Released in EU: August 29, 1991


AreasIcon.png This game has unused areas.
EnemyIcon.png This game has unused enemies.
GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.


NotesIcon.png This game has a notes page

Super Mario Bros. 3 is a NES game by Nintendo, which has plenty of unused material hidden within it. One of the best-selling games of all time.

Contents

Sub-Pages

 
Unused levels
16 levels only accessible by hacking.
 
Unused graphics
Quite a bit packed in here.
 
Version differences
"Miss twice and your out!"
 
Unfinished bonus games
Bonus game data left in the ROM.

Developer Debug Leftovers

There is some leftover debug routines from the developers although none of it can be accessed without cheat devices or hacking.


Level select and debug menu/mode

The walls have eyes!

The Game Genie code KKKZSPIU activates SMB3's level select and debug mode.

On the title screen:

  • Press Up or Down to select a world to start on.
  • Press A to increase the number of lives by 5 (a tile will change each time you press the button).
  • A+B+Down on Controller 2 warps you to the Princess's chamber at the end of the game.
  • A+B+Right warps you straight to the final curtain.

When you start a game, your item box will be filled with one of every item plus an extra Warp Whistle, and the remaining slots will be filled with P-Wings. During gameplay:

  • Press Select on Controller 1 to cycle through all of Mario's forms.
  • A/B+Select gives Mario a Kuribo's Shoe (it may look messed-up in some levels, but will otherwise work fine).

Additionally, you'll have infinite time—it will still tick but Mario won't die once it runs out.

The menu shown in the picture was found elsewhere in the ROM and hacked into the title screen; it doesn't appear if you use the Game Genie code by itself. Apply this IPS patch to a Super Mario Bros. 3 ROM to see it for yourself.

Originally it appears that this menu would have been accessible from the "1 PLAYER" / "2 PLAYER" selection menu if Player 2 was holding the A and B buttons together. It is also possible that this served some other purpose, but the above menu would be the most likely candidate. See Disassembly source for PRG bank #24, search for "Title_Do1P2PMenu:" Interestingly the button check is still there, but the action it was supposed to perform was overwritten with a series of NOP (no operation) instructions, likely done just before release.

(Source: menu found by BMF54123; code created by David Wonn; disassembly by Southbird)


Disconnected Debug Leftovers

Even if you enable the debug mode above, there are a couple routines leftover that remain inaccessible. These routines do not seem to pay attention to the aforementioned debug flag, so either the check is simply lost to time or these routines were hardwired to always work. The latter would make sense why they are disconnected from the source.

  • Free Movement Mode -- Unclear how this would be accessed, but would allow Player to press left/right/up/down to move Player around the level (See Disassembly source for PRG bank #0, search for "$C3EA")
  • Toggled Invincibility -- Pressing SELECT would toggle whether the Player was completely invulnerable (See Disassembly source for PRG bank #0, search for "$C91B" -- this behavior could be easily restored by retargeting the JMP instruction or moving the Objects_HandleScrollAndUpdate label since this method would fall through into normal game code.)
(Source: Southbird)

Unused 2P Level

A golden rainbow
There's a fourth 2P level in the game ROM. This has a large arc of coins and uses an otherwise unused block graphic. Presumably, the player who collected the most amount of coins would win, but the code that would handle this isn't in the ROM. Collecting the coins also leaves behind an incorrect tile.

(Source: Southbird)

Unused Objects

(Additional information: Southbird)

Object 04

Bank ID: 00
Object ID: 04

Nice numbers
and letters.

Note: This is not how the object actually appears in game. Image is for reference only
A very odd object. The tiles that actually make up this object are no longer in the ROM, but it was supposed to use tiles B0-BF.
When Mario collides with this object, it will stick to him like a Micro-Goomba and will never come off. It doesn't hinder Mario's movement, it just...stays there.
It can be killed with a Koopa shell or Hammer.

Object 05

Bank ID: 00
Object ID: 05

More numbers
Not as many letters though

Note: This is not how the object actually appears in game. Image is for reference only
Another weird sprite. The tiles that actually make up this object are no longer in the ROM, but it was supposed to use tiles A0-A7.
This walks around like a normal enemy. At a certain point in its walk cycle, it will jump up to Mario's Y position and then fall back down.
Interestingly, walking into it will bounce Mario in the opposite direction. The only way to get damaged by this object is to let it fall on you.
It can be destroyed with a Koopa shell or Hammer.

Object 0A

Bank ID: 00
Object ID: 0A

Who was the unfortunate Toad that got turned into this thing?

Note: This is the best fit for this object's graphics, but it may not be correct
A simple stationary object that can be "pushed" by Mario. Its collision detection doesn't seem to be complete, though, since it can be pushed into walls.

Card Objects

Bank ID: 00
Object ID: 21 (Mushroom), 22 (Fire Flower), 23 (Star)

Electric Solitaire Porycard

These are stationary object versions of the cards found at the end of each level!
Collecting them will add the appropriate card, but there's nothing in the object code to handle when the player has 3 cards.
Getting to the goal with three of the same card won't trigger the 1-Up Bonus. You still have to get the appropriate third card from the goal.

Gold Cheep-Cheep

Bank ID: 00
Object ID: 88 (Single), D2 (Trio)

If it were in Mario Party, you would get 3 points for defeating it.

The Gold Cheep-Cheep is a Cheep-Cheep variation only seen in the seventh unused level. In that level they always show up in groups of three (though sprite overload often keeps at least one from appearing) but a single enemy version is in the code. It swims across the screen in a strange wavy pattern and is considerably faster than the standard red or green varieties.

Green Para-Beetle

Object ID: N/A

The speedy green!

This can only be spawned with the Para-Beetle Swarm object (see below). It flies faster than the Red Para-Beetle, but otherwise, there's no difference between the two.

Para-Beetle Swarm

Bank ID: 00
Object ID: B7
This is a control object that will spawn Green and Red Para-Beetles on the left and right sides of the screen. It's used in the ninth and tenth unused levels.

Unused Level Palettes

Some level types have unused palettes.

Fortress

It's not easy being cut

Fortress palette #2. A green version of the standard fortress color scheme.

Giant

In a big-ass Game Boy

Giant stage palette #2. Shades of gray with blue water.

Plains

What an odd sky

Plains palette #1. This variant has a sky with a pinkish hue.

Palette 2 (Used) Palette 6 (Unused)
Blue? Or blue-green?

Palette #6 is nearly identical to the used Palette #2. The only difference is that the blue rectangles are blue-green.

Stage Anomalies

There are a few stages with hidden foreground pieces.

World 4-1

Hidden Tile In-Game View
A block!! Blocked off

A single brick is hidden behind the waterfall in World 4-1.

World 5-2

Hidden Tile In-Game View
A cloud!! Clouded up?

A cloud appears behind the first slope in World 5-2.

Personal tools