Super Mario Bros.
|Super Mario Bros.|
This game has unused code.
This game has a notes page
This game has a bugs page
This game has a prerelease article
Super Mario Bros. was, and still is, probably the most well-known and biggest-selling NES platformer ever, especially since it was included with most NES units either by itself or with Duck Hunt. This game cemented Mario as the most famous plumber to grace televisions, with compelling gameplay, catchy music, and good graphics.
It's so ubiquitous, people can't get rid of these carts once they have them.
- 1 Unused Objects
- 2 Unused Timer Setting
- 3 Unused Spiny Egg Behavior
- 4 Unused Pipe Behavior
- 5 Oddities
- 6 Version Differences
Replace the video with a better one in the native resolution.
An object that Mario can climb up or down like a vine. It makes a "buzzing" sound as you climb, as though Mario is repeatedly hitting his head on something. It can still be placed in-game with a level editor. Although it appears as a brown flagpole ball, the actual 16×16 metatile that is used is unique to this object.
Unused Firebar Type
Enemy object 1E is a short Firebar that quickly rotates counterclockwise. This type is never used in any valid levels, however, unlike its clockwise counterpart 1C that is used only in World 5-4.
This firebar type also exists in the Game Boy Color remake.
Unlike invalid enemies (such as glitch Firebars 20, 21, and 22), this type has a valid entry in the setting table:
FirebarSpinSpdData: .db $28, $38, $28, $38, $28 FirebarSpinDirData: .db $00, $00, $10, $10, $00
The settings are stored in this order: Clockwise (1B), Speedy Clockwise (1C), Counterclockwise (1D), Speedy Counterclockwise (1E), and Long Firebar (1F). Firebar (1E) has both the faster speed ($38) and counterclockwise rotation ($10) programmed in.
Unused Timer Setting
The upper 2 bits of the first level header setting byte determines the starting timer.
The timer starts at 200 if this setting is set to 3 (11xxxxxx), though no valid level actually uses it.
Likewise, the timer starts at 000 (causes instant death on normal levels) if this setting is set to 0 (00xxxxxx). While this setting is used by intros (such as the beginning of World 1-2), the game doesn't actually use the setting, since it completely disables the timer in these levels.
Unused Spiny Egg Behavior
The Spiny eggs are thrown by Lakitu in a simple straight-down way, with no horizontal movement whatsoever. However, this is not the intended behavior, and is actually the result of a bug! The eggs are supposed to be thrown out relative to the player's speed, Lakitu's speed, the player's position, and a pseudo-random value, as well as bounce off of any blocks or walls that they hit on the way down.
The following patch will fix the bug:
|Download Spiny Egg Speed Patch
File: SMBSpinyEggPatch.ips (25 B) (info)
This patch is intended for the US version of the game. The Bugs page has more information on the nature of this bug.
In Super Mario Maker this behavior has been restored and the Spiny eggs are thrown as though this patch is applied.
Unused Pipe Behavior
The L-shaped pipes used in the intro leading to underground and underwater levels can be entered from the top like a regular pipe. However, it is impossible to experience that behavior during regular gameplay, since Mario automatically enters the side of the pipe, and as such this behavior goes unused.
An L-shaped pipe appears in World 9-3 of the Japanese Super Mario Bros. 2, and it is possible to enter this pipe from the top.
RAM address 03F0 keeps track of the number of blocks hit, though no routine ever reads the value stored here.
Map 01 (Worlds 2-2 and 7-2) has a third level pointer for World 3, which leads to the same place as the normal World 2 and 7 level pointers.
Duplicated Scroll Stop Object
There are two identical scroll stop objects: 46 and 47. Only the latter is used by the game's valid levels.
The bricks and Bowser's bridge may have each used four unique tiles at some point in development, judging by the arrangement of existing tiles in the CHR data. The second and fourth tiles in each highlighted group are pieces of the block behind the title logo.
Piranha Plant's stem animation
The Piranha Plants' heads have a two frame animation. Interestingly, this also applies to the stem, however the two graphics used to "animate" it are completely identical, resulting in the stem being completely stationary. It should be noted that the Piranha Plant in All Night Nippon Super Mario Bros. (Or Japanese DJ Tamori, to be exact) does use this botton half as part of the visible animation.
Although Bloopers normally appear only in water levels, they can be placed in non-water levels just fine and will award a whopping 1,000 points when stomped. Most other "impossible" ways to kill enemies, like hitting a Podoboo or Bowser with a Starman, only award the default 200 points, though Podoboos also have the stomp code defined.
Given that Bloopers appear in non-water levels (such as World 1-3) in the Japanese Super Mario Bros. 2 and award 1,000 points, this behavior was likely intended all along.
Having more detail is always a good thing.
|This page or section needs more images. |
There's a whole lotta words here, but not enough pictures. Please fix this.
- Just like in Vs. Super Mario Bros., Super Mario Bros. 2 and Super Mario All-Stars, in all underwater areas (Worlds 2-2 and 7-2 plus the underwater sections of 5-2, 6-2, and 8-4), a block was added in the European version over the exit pipe to close the one-tile-high gap. In the Japanese and US versions, it is possible to clip into that gap in Super/Fire form and get stuck in the wall with no way out other than letting the time run out.
- In World 8-2, the starting positions of the Koopa Paratroopas were changed.
- The Japanese and US versions had a bug where if a lot of enemies were on-screen, the Springboard sprite could load into a piece of memory normally used to load powerups or the flag at the end of the level, allowing these to overwrite each other. The European version added a check to prevent this from happening.
- In the European version, the lowest position a Blooper can reach onscreen was lowered by 4 pixels, allowing them to, unlike other versions, hit Super or Fire Mario if he's standing on the ground.
- Originally in the Japanese and US versions, the branch of an enemy object would add 12 pixels to the player's vertical position. In the European version, it decides whether Mario stomped or got hit depending on the enemy branch of the enemy object.
- Mario's initial downward acceleration at the start of the level is higher.
- Mario's vertical acceleration on springs is now defined.
- The movement function for Cheep Cheeps was drastically simplified.
- In the European version, the vertical difference deciding whether Mario stomped or got hit depends on the enemy.
- Rather than doing an ASL (Arithmetic Shift Left) on the injury timer, the value is set explicitly.
- On water stages, Mario's vertical speed is set to 0 after nullifying.
- Some enemies (more specifically: Piranhas, Bullet Bills, Goombas, Spinies, Bloopers, and Cheep Cheeps) have a larger hitbox.
- The second tone of the coin grab sound effect is different.
Super Mario Bros. + Duck Hunt
The PPU control register 1 address was changed and the reset stack pointer was changed to a jump to $8000.
This version seems to be based on the International version.
Super Mario Bros. + Tetris + World Cup
This version seems to be based on the European version.
Nintendo World Championships 1990
|Original||Nintendo World Championships 1990|
On the title screen, the player options and top score are removed, and so is Mario, resulting in a static screen instead of gameplay demos.
|Original||Nintendo World Championships 1990|
- You start with 99 lives.
- The game ends when you collect 50 coins.
In the 25th Anniversary Edition for Virtual Console, bundled with specially-marked Japanese and Australian Wii consoles, the question mark on the ? block was changed to display the number "25".