The purpose of this page is to document tricks and glitches of Super Mario Land 2. Please note that not everything listed on this page is necessarily useful for tool-assisted speedrunning.
36 frame jump
Mario jumps higher if the A button isn't held past 36 frames.
Bosses unspawning sooner
If a boss dies close to the top of the screen, it can unspawn sooner rather than falling all the way to the bottom, saving 2 seconds. This can be applied to Tatanga in Space Zone and the third pig in Mario Zone.
Moon ledge jump
In the moon level, if you hold down the A button and walk off a ledge, you will rejump in midair briefly. Can be used for stylistic choices.
Flipscreen kill glitch
You can kill enemies that are offscreen on one side by shooting a fireball at the opposing side. (
video)
Level completion glitch
To do this, you must finish a level by touching the bell to play the bonus game. Once you have received the power-up (Mario stops blinking), reset the game and if done correctly your level completion count has gone up by 1. If done repeatedly, you can reach up to 99, although, by glitching address A042 it may be possible to write values higher than 99 to it (see the section Glitch World below).
Bug the honey
In the Tree Zone's bee hive level, lure a bee from the second room down to the first room and use it to jump off to the section right above the starting point. Proceed further to go out of bounds and gain access to the glitch world. (
video)
Take items from other levels
By pausing at the same time you touch a power-up or checkpoint bell and leaving, you will receive that item in the next level you enter. This can be used to use the bubble from the Hippo level in other levels, or to touch the checkpoint bell of a level "early". It saves time to take Space Zone 1's checkpoint bell into Space Zone 2, and die and re-enter to start near the end of the level.
If you take the checkpoint bell into a level that does not normally have a checkpoint bell, the next time you enter the level you will start out in the top left corner of the level in versions 1.0 and 1.1. You start at the normal starting point in version 1.2, instead (this fact can be used to distinguish your game version between 1.1 and 1.2).
Enemy slot glitch
Let an enemy that can create other enemies spawn and stand offscreen (fire-spitting piranha plant, rock throwing ant, ball shooting pig, bat-summoning chibi dracula). Now it will create more and more enemies until all the enemy slots are used up and those "enemies" only become active when Mario lets them onscreen. This comes in handy for the lag zip glitch described below. (
video)
Lag zip
If there are a lot of enemies on the screen and you have low gravity (have a bubble or in the moon level), floating will make Mario zip vertically which can allow you to reach the glitch world (
video1,
video2) or Wario early (
video).
Pipe glitch (version 1.0 and 1.1)
The following glitch only works in version 1.0 of the game. To do it, you must go down a pipe in a previously beaten level, and pause & leave it in the process - alternatively, you can die at the same time you go down a pipe. The next time you enter a level, you will go through the floor. In some levels this allows you to enter a glitch world that allows a quick level end.
The following glitch works in both version 1.0 and 1.1. Instead of pausing while going down a pipe as mentioned above, you can also die at the very same frame Mario starts descending which will give you the same effect as mentioned above: After entering the next level, Mario will be sent through the floor.
Play the demos (version 1.0)
This only works in version 1.0 of the game. By pressing a certain button combination on the title screen, you can play a demo level (audio is muted), so the game records your button input instead of reading pre-recorded input. Once the input slots are used up, the game freezes. If you manage to beat a level, it will save over your first savegame.
- Up + Select: Mushroom level demo
- Up + A + Select: Hippo level demo
- Up + B + Select: Turtle Zone level demo
- Up + A + B + Select: Macro Zone level demo
Using this is usually banned in speedruns due to it essentially being a cheat code / debug code.
Glitch world
The game's levels are represented by a certain part in the memory. And by using the pipe glitch, bug the honey glitch, the lag zip glitch or the pause glitch you can gain access to a glitched world, other parts of the game's memory. Due to how the game works, you can currently only travel through the memory from top to bottom.
In order from top to bottom:
- B000~CFFF (RAM) - the normal level data
- D000~FDFF (WRAM) - this is usually a copy of the level, but without enemies or power-ups
- FE00~FFFF (I/O, RAM)
- 0000~3FFF (constant ROM) - this part may not be written to, so breaking a block or touching coins will crash or reset the game.
- 4000~7FFF (switchable ROM)
- 8000~9FFF (VRAM)
- A000~AFFF (SRAM)
Visiting the glitch world can be useful if you want to edit various memory addresses, although you are limited in your ways of editing (most of the time you can only break blocks). See
this post for a quick write-up of a few memory addresses' purposes. In the glitched TAS, the block that the address A2D5 represents is broken and the level subsequently re-entered which mysteriously triggers the staff credits.
Pause glitch
TODO: Add and explain the new movie that beats the game with this glitch.
If you attempt to (repeatedly) pause the game when it's lagging, the game may crash or reset itself. Or blocks - solid or breakable - may be created, broken or "pushed" (= enemies on top are killed) right above Mario's head (
video). This can be used to finish the game by visiting only the first level (
video). Rarely does the game glitch in a special way (
video1,
video2). This glitch may have the potential to be a time-saver in the glitched run someday.
Pixel trick
By abusing the fact that Mario oscillates between a speed of 1 and 2 every frame, and that different speed patterns are used depending on memory address A200 (which goes up when running and down when stopping), you can gain more speed by switching between different speed patterns. Instead of 1,2,1,2,1,2,1,2... you would go 1,2,2,1,2,1,2,2,1,2,...
(TODO: More technical and in-depth explanation)