We just released a prototype of the cancelled SNES port of Puggsy! Take a look!
As always, thank you for supporting The Cutting Room Floor on Patreon!

Bugs:Super Mario 64 (Nintendo 64)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details bugs of Super Mario 64 (Nintendo 64).

Cactus 2.0!
This article has just been started and needs the article basics added.
Help us out and add them.
Hmmm...
To do:
Add more bugs, many of which are documented here.
Acactussayswhat?
Please elaborate.
Having more detail is always a good thing.
Specifically: A Note From MarioGuy: Rewrite the explanation on how you do the Frame walking glitch and the BLJ. Because I can’t explain glitches properly.

Despawning Big Goombas Without Killing Them

if (obj_handle_attacks(&sGoombaHitbox, GOOMBA_ACT_ATTACKED_MARIO,
                               sGoombaAttackHandlers[o->oGoombaSize & 1])) {
            mark_goomba_as_dead();
        }

Only works on the triplet Goomba spawner. This piece of code in the Goomba behavior file calls a function that returns a value if attacked by Mario. If done so (and it does happen with every attack), the Goomba is marked as dead, so that it will despawn competely when exiting its spawn radius.

Unlike the small and normal-sized Goomba, however, the big Goomba won't be killed by a weak attack like a simple punch. Yet regardless it is marked as dead, and even though it still isn't actually killed, will despawn as soon as the spawn radius is exited and entered again (by getting far away enough, then returning). This can be tested best at the starting point in Tiny-Huge Island.

This bug only works with the triplet spawner, as it has its own update function with code for loading and unloading enemies (bhv_goomba_triplet_spawner_update) which explicitly checks if any Goomba is marked as dead, and if so, doesn't spawn that enemy anymore.

Empty File Deletion Crash

Hmmm...
To do:
How does Virtual Console handle this? Wii VC added and WiiU VC on an emulator added. WiiU VC on actual hardware still needed.

Present in all releases of the N64 game, including the Shindou Edition and Super Mario 3D All-Stars, but save data should not be damaged as a result of the crash.

On the File Select screen, perform the following actions within quick succession of each other:

  1. Select "Copy"
  2. Select an empty file (preferably C or D because they are closer)
  3. Select "Score"
  4. Select an empty file

If done correctly, "Select File" on the Score screen will shortly fade to "No Saved Data Exists". Once this happens, select "Erase" and wait for its screen to overlap. You will immediately be asked if you wish to delete the data in NULL. Selecting "Yes" at this prompt will cause an address error which will immediately crash the game. If done on the 3D All-Stars version, the software will crash back to the Switch's home menu. The Wii VC is unaffected by this bug. The delete animation gets stuck, but switching to any of the other options (ie. Check Score) fixes it. When tested in CEMU 1.26.0c, WiiU VC doesn't seem to have any effects.

Backwards Long Jump

The Backwards Long Jump hyperspeed method, or BLJ for short, is the most famous hyperspeed method in Super Mario 64. Due to their versatility, BLJs are commonly used in all kinds of speedruns and challenges. When Mario initiates a long jump, his horizontal speed is multiplied by 3/2. A BLJ occurs when a backwards long jump is interrupted before the effects of drag can counteract the speed gain from the 3/2 multiplier. This does not occur with forwards long jumps because long jumps have a "hard cap" of +48 horizontal speed which Mario's speed cannot exceed. No such cap exists in the negative direction because normally the "soft cap" of -16 speed from drag is easily enough to stop any speed gain. There are several different types of BLJs. The distinguishing feature of different types of BLJs is what they use to interrupt the long jump:

  • Slope BLJs use slopes by going up the slope.
  • Stair BLJs use stairs by going up the stairs.

Elevator BLJs use the upwards movement of an elevator or other object. Side BLJs use two floors at slightly different levels by oscillating between them. Ceiling BLJs use an exposed ceiling or low-hanging ceiling by making Mario hit his head and start travelling downwards faster. BLJs can also be pause buffered to increase the amount of long jumps that can be performed in a given amount of time or space.

The BLJ glitch was patched in the Shindou release, and therefore also the iQue version. This also means that any emulator releases of these game versions lack the BLJ glitch, namely the Japanese Wii VC release, the Japanese Wii U VC release, and all versions of Super Mario 3D All-Stars.

Go where there is a ceiling or staircase and do a single long jump, But instead doing it forward, Do the opposite and mash the A button.

Frame Walking

Frame walking is a fairly easy glitch you can do, Run up on a steep slope and use the joystick to move each frame you walk up.

This glitch happens because everytime Mario walks it checks if there is a steep slope, If he walks on a steep slope, He continues moving for a bit and then slides off.

Here’s what it does: Demonstration